Unofficial package for simple managing file operations hosted on "Digital Ocean Spaces" written in Typescript
Upload Assets to DO Spaces after application starts
Simple Client to handle Digital Ocean Spaces files.
Edge-compatible storage abstraction for Pars - S3, R2, DO Spaces
A react component for uploading files to DO spaces
Temporary file and directory creator
camelCase, kebab-case, PascalCase... a simple integration with nano package size. (SMALL footprint!)
Convert tabs to spaces in a string
TypeScript package which smartly trims and strips indentation from multi-line strings
Remove the trailing spaces from a string.
A wide-character aware text alignment function for use on the console or with fixed width fonts.
Remove leading indentation from ES6 template literals.
S3 storage adapter for keystonejs with DO Spaces support
A general-purpose color library for JavaScript
Federated Wiki plugin — P2P video hosting via Lucille (WebTorrent + DO Spaces)
Like String.trim() but you can choose granularly what to trim
remark-lint rule to warn when too many spaces are used to create a hard break
An output formatter for markdownlint-cli2 that produces the same output as markdownlint-cli
MCP server for DigitalOcean Spaces storage operations - upload, download, list, and manage files in DO Spaces
Color spaces! RGB, HSL, Cubehelix, Lab and HCL (Lch).
Recursively walk and transform EcmaScript AST
A CSS parser, transformer, and minifier written in Rust
A string tag that strips indentation from multi-line strings. ⬅️
Strapi plugin to upload file to DigitalOcean spaces
File sandbox creates a space for your tests to safely hit the file system. It also makes it easier for them to do so. By cleaning up after them.
Run this command with a space separated list of either function file paths, or directories containing functions. If omitted, it will default to porting all the legacy functions, so you can just run this in the root of a Puppet module and it will do the right thing.
Run this command with a space separated list of either manifest file paths, or directories containing manifests. If omitted, it will default to inspecting all manifests in the manifests directory, so you can just run this in the root of a Puppet module and it will do the right thing.
Shortcuts for Active Record queries in the ruby console.
To support Black Lives Matter and create safer spaces, I wanted to rename all of the default branches in my Gitlab account. I wasn't able to find any tools to do that, so I wrote this one. If you're unsure why this is important or want to better understand why I wanted to make these changes, see this great {Twitter thread}[https://twitter.com/mislav/status/1270388510684598272].
Version 1.0.1 Update Notes: -Updated README "HOW TO RUN" -I'm not sure how to format this so it looks good on the gems website so please just see the README file. USE CASES: 1. Your friends bully you because your imaginary role playing worlds are predictable and boring. 2. You like seeing chars printed in nifty patterns. HOW TO RUN: 1. Run `super_simple_world_builder` 2. Follow the prompts EXAMPLE INPUT: Guten Tag! Welcome to Super Simple World Builder. Enter 1 to build a random world Enter 2 to build a custom world Please enter your selection (1, 2, or exit): 2 Enter the name of your world: Community-Town Enter the minimum width of the world: 15 Enter the minimum height of the world: 15 What character do you want to fill the background of your world with? (i.e. any character or single space) How many lake features do you want? 3 How many mountain features do you want? 2 How many town features do you want? 3 How many forest features do you want? 4 OUTPUT: 1. Console print out of the world map 2. A text file of the world map ACHTUNG: 1. Don't worry if the width or height entered is too small. The world will automatically enlarge to fit all features. 2. World maps look better when you enter a <space> as the character to fill the background. 3. This is a quick-and-dirty project so yolo with the specs. I added comments as a consolation prize. 4. See `feature_set.rb` to tweak the features that can be added to the world map. 5. Interestingly, menu prompts may not show up in the git bash terminal. But they do show up in Windows command prompt, so lmao. 6. Feel free to tweak the code however you like. I plan to refactor in the future to dry up some sections.
GraphQL interface over WCC::Contentful store
== SYNOPSIS: Allows storing scopes as names; that way you can address subsets of your model space by meaningful names. require 'scoped_proxy' # Railsers: You might want to call this in environment.rb class User < ActiveRecord::Base scoped_proxy :role do |role| { :find => { :conditions => ['role = ?', role] } } end scoped_proxy :deleted, :find => { :conditions => 'deleted_at is not null' } end admins = User.role('admin') admins.count # => 12 admins.find(:all) # => [ ... ] User.deleted.count # => a number This implementation also brings (NEW, SHINY) default proxies. That means you can have a proxy in effect when no other proxy is in effect. class User < ActiveRecord::Base default_proxy :find => { :conditions => 'deleted_at is null' } end User.find(:all) # only finds users that aren't deleted
Contentful API wrapper library exposing an ActiveRecord-like interface
PythonConfig is a module with classes for parsing and writing Python configuration files created by the ConfigParser classes in Python. These files are structured like this: [Section Name] key = value otherkey: othervalue [Other Section] key: value3 otherkey = value4 Leading whitespace before values are trimmed, and the key must be the at the start of the line - no leading whitespace there. You can use : or = . Multiline values are supported, as long as the second (or third, etc.) lines start with whitespace: [Section] bigstring: This is a very long string, so I'm not sure I'll be able to fit it on one line, but as long as there is one space before each line, I'm ok. Tabs work too. Also, this class supports interpolation: [Awards] output: Congratulations for winning %(prize)! prize: the lottery Will result in: config.sections["Awards"]["output"] == "Congratulations for winning the lottery!" You can also access the sections with the dot operator, but only with all-lowercase: [Awards] key:value [prizes] lottery=3.2 million config.awards["key"] #=> "value" config.prizes["lottery"] #=> "3.2 million" You can modify any values you want, though to add sections, you should use the add_section method. config.sections["prizes"]["lottery"] = "100 dollars" # someone hit the jackpot config.add_section("Candies") config.candies["green"] = "tasty" When you want to output a configuration, just call its +to_s+ method. File.open("output.ini","w") do |out| out.write config.to_s end
= Cirron Cirron measures a piece of Ruby code and reports back several performance counters: CPU instruction count, branch misses, page faults and time spent measuring. It uses the Linux perf events interface or @ibireme's KPC demo[https://gist.github.com/ibireme/173517c208c7dc333ba962c1f0d67d12] on OSX. It can also trace syscalls using +strace+, Linux only! == Prerequisites - Linux with perf events support / Apple ARM OSX - C++ - Ruby 3.x == Usage === Performance Counters $ sudo irb irb(main):001> require 'cirron' => true irb(main):002* c = Cirron::collector do irb(main):003* puts "Hello" irb(main):004> end Hello => Counter(time_enabled_ns: 110260, instruction_count: 15406, branch_misses: 525, page_faults: 0) === Tracing Syscalls $ sudo irb irb> require 'cirron' => true irb> trace = Cirron::tracer do irb> # Your code here irb> puts "Hello" irb> end => [#<Syscall:0x00007c6c1a4b3608 @args="1, [{iov_base=\"Hello\", iov_len=5}, {iov_base=\"\\n\", iov_len=1}], 2", @duration="0.000201", @name="writev", @pid="2261962", @retval="6", @timestamp="1720285300.334976">] # Save the trace for ingesting to Perfetto irb> File.write("/tmp/trace", Cirron::to_tef(trace)) => 267 === Tampering with Syscalls Available tampering actions are: error: Inject a fault with the specified errno. retval: Inject a success with the specified return value. signal: Deliver the specified signal on syscall entry. delay_enter: Delay syscall entry by the specified time. delay_exit: Delay syscall exit by the specified time. poke_enter: Modify memory at argN on syscall entry. poke_exit: Modify memory at argN on syscall exit. syscall: Inject a different syscall instead. The when argument can be used to specify when to perform the tampering. See the Tampering section of the [strace manual page](https://man7.org/linux/man-pages/man1/strace.1.html) for more detailed explanaition of the arguments. ``` $ sudo irb irb> require 'cirron' irb> injector = Cirron.injector irb> injector.inject("openat", "error", "ENOSPC") irb> injector.inject("openat", "delay_enter", "1s", when_condition="2+2") irb> injector.run do irb> # Open now fails with "No space left on device" and every irb> # other call to `openat` will be delayed by 1s. irb> File.open("test.txt", "w") irb> end ``` == Additional Information For more detailed information, please visit the project's GitHub page: https://github.com/s7nfo/Cirron
# FaradayError [](https://badge.fury.io/rb/faraday_error) A [Faraday](https://github.com/lostisland/faraday) middleware for adding request parameters to your exception tracker. ### Supports - [Honeybadger](https://www.honeybadger.io/) - [NewRelic](http://newrelic.com/) - Your favorite thing, as soon as you make a pull request! ## Installation Add this line to your application's Gemfile: ```ruby gem 'faraday_error' ``` And then execute: $ bundle Or install it yourself as: $ gem install faraday_error ## Usage Configure your Faraday connection to use this middleware. You can optionally specify a name; defaults to `faraday`. It is expected that you also use `Faraday::Response::RaiseError` somewhere in your stack. ```ruby connection = Faraday.new(url: 'http://localhost:4567') do |faraday| faraday.use FaradayError::Middleware, name: "example_request" faraday.use Faraday::Response::RaiseError faraday.adapter Faraday.default_adapter end ``` And that's it. Make a request as you normally would. ```ruby connection.post do |req| req.url '/503' req.headers['Content-Type'] = 'application/json' req.body = JSON.generate(abc: "xyz") end ``` If any request fails, Honeybadger's "context" for this error will include your request parameters. If sending JSON or `application/x-www-form-urlencoded`, these will be included in parsed form. ```json { "example_request": { "method": "post", "url": "http://localhost:4567/503", "request_headers": { "User-Agent": "Faraday v0.9.2", "Content-Type": "application/json" }, "body_length": 13, "body": { "abc": "xyz" } } } ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). The included [RestReflector](../master/spec/rest_reflector.rb) Sinatra app is suitable for making requests that are guaranteed to fail in particlar ways. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/jelder/faraday_error. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.