Execute shell command forwarding all stdio.
Actions exec lib
A tiny cross-platform promise based wrapper around child_process.spawn.
Easy as cake e-mail sending from your Node.js applications
Run any OpenAPI spec as an Agent optimized executable
A simple Node.js wrapper for yt-dlp
Returns a promise with the results of a shell command
Percy CLI commands for running a local snapshot server using [`@percy/core`](./packages/core).
semantic-release plugin to run custom shell commands
Canonical universal harness — AI-native software engineering via skill-driven orchestration; bootstraps plugkit for task execution and session isolation. Install in any AI coding agent host.
Regular expression for matching a shebang line
A grown up version of Node's spawn/exec
Create a security plugin for node.js
Svelte Code Checker Terminal Interface
Limit the shell execution commands to <x> calls same time.
Run a buffer through a child process
Amazon States Language validator
Synchronous exec with status code support. Requires no external dependencies, no need for node-gyp compilations etc.
Run commands in order
Check if a file is executable
Extended regular expressions
wait-on is a cross platform command line utility and Node.js API which will wait for files, ports, sockets, and http(s) resources to become available
various machine learning routines for node
Secure Node.js execution without a sandbox. V8 isolate-based code execution with full Node.js and npm compatibility.
Utility crate for the formal verification tool machine-check
Utility crate for the formal verification tool machine-check
Exec Remote is a simple utility to run tests/build against your development code in a remote machine without checking in to a repository. It sync ups your code in local and remote machine with rsync and the commands are executed in remote machine via SSH
# CheckTCPMemory This is a simple Nagios/Sensu check that checks that the current TCP memory usage is below the maximum allowed in the Linux kernel. This will find leaking TCP sockets. ## Installation Add this line to your application's Gemfile: ```ruby gem 'check_tcp_memory' ``` And then execute: $ bundle Or install it yourself as: $ gem install check_tcp_memory ## Usage ``` $ check_tcp_memory -h Usage: check_tcp_memory -w <warn percent> -c <critical percent> -w, --warn-percent PERCENT Warning when percentage of total TCP memory is over this threashold. Default: 50% -c, --crit-percent PERCENT Critical when percentage of total TCP memory is over this threashold. Default: 60% -h, --help Show this message --version Show version ``` ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/Altiscale/check_tcp_memory. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
# DnsChecker Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/dns_checker`. To experiment with that code, run `bin/console` for an interactive prompt. ## Installation Add this line to your application's Gemfile: ```ruby gem 'dns_checker' ``` And then execute: $ bundle Or install it yourself as: $ gem install dns_checker ## Usage Just use it! ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/dns_checker. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](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).
# Rack::ReadOnly This gem allows Rack based APIs to be set to read only. At the most basic it can be used like this from your `config.ru`: ```ruby require 'rack/read_only' use Rack::ReadOnly, { active: ENV["READ_ONLY"] == "1", response_body: '{ "error": "This API is currently in read only mode." }' } run MyApp ``` When in read only mode the API will continue to respond to GET, HEAD, and OPTIONS requests as normal, but reject POST, PUT, DELETE, and PATCH requests with the body specified, and a 503 error code. ## Installation Add this line to your application's Gemfile: ```ruby gem 'rack-read_only' ``` And then execute: $ bundle Or install it yourself as: $ gem install rack-read_only ## Development After checking out the repo, run `bin/setup` to install dependencies. 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` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing 1. Fork it ( https://github.com/jellybob/rack-read_only/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request Any new builds should pass the tests on [Travis](https://travis-ci.org/jellybob/rack-read_only)
# Optio Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/optio`. To experiment with that code, run `bin/console` for an interactive prompt. ## Installation Add this line to your application's Gemfile: ```ruby gem 'optio' ``` And then execute: $ bundle Or install it yourself as: $ gem install optio ## Usage Write usage instructions here ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/optio. 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). ## Code of Conduct Everyone interacting in the Optio project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/optio/blob/master/CODE_OF_CONDUCT.md).
# CheckChefConverge This is a Nagios/Sensu check that can check if nodes returned from a chef search have converged recently. ## Installation Add this line to your application's Gemfile: ```ruby gem 'check_chef_converge' ``` And then execute: $ bundle Or install it yourself as: $ gem install check_chef_converge ## Usage ``` Usage: check_chef_converge -w, --warn-minutes MINUTES Warning when chef has not converged in minutes.Default 65 -c, --crit-minutes MINUTES Critical when chef has not converged in minutes.Default 70 -q, --query SEARCH Chef query to filter on. Default 'fqdn:travis-work-mbp.local' --chef-client-config CONFIG Chef client configuration. --chef-server-url URL Chef Server URL. Must pass client-name and client-key or client-key-file with this option. --chef-client-name NAME Chef Client Name. Only used with server-url --chef-client-key KEY Chef Client Key (string). Only used with server-url. Takes precedence over client-key-file. --chef-client-key-file PATH Chef Client Key File. Only used with server-url -h, --help Show this message --version Show version ``` ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/Altiscale/check_chef_converge. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
["This gem adds the integration for the nobrainer gem in Capistrano.\n\nIt creates the indexes automatically and run the database migration if any (WARNING: You need to use the zedtux's nobrainer fork in order to use migration scripts until it get merged).\n\n| Feature | capistrano-nobrainer version |\n| --------------------------- | ----------------------------- |\n| Nobrainer indexes creation | 0.2.0 |\n| Nobrainer migration scripts | 0.3.0 |\n\nSo if you don't use migration scripts, stick on version 0.2.0.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'capistrano-nobrainer', '~> 0.2', require: false\n```\n\nAnd then execute:\n\n $ bundle install\n\nOr install it yourself as:\n\n $ gem install capistrano-nobrainer\n\n## Usage\n\nAdd the following require to your `Capfile`:\n\n```ruby\nrequire 'capistrano/nobrainer'\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo 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).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://gitlab.com/zedtux/capistrano-nobrainer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://gitlab.com/zedtux/capistrano-nobrainer/blob/master/CODE_OF_CONDUCT.md).\n"]
# Soft Delete > In a production app, you should probably never really delete anything. [source](https://twitter.com/theebeastmaster/status/966870021099180034) A soft-delete marks a record as deleted, and keeps it in the database for historical reference. ## Installation Add this line to your application's Gemfile: ```ruby gem "soft_delete-workbar", require: "soft_delete" ``` And then execute: $ bundle Or install it yourself as: $ gem install soft_delete-workbar ## Usage Safely "delete" records from your database without losing them permanently. * Add SoftDelete to a model ``` class MyModel < ActiveRecord::Base include SoftDelete end ``` * Add a `deleted_at` column to the model's database table ``` rails g migration AddSoftDeleteToMyModels deleted_at:timestamp ``` * Safely call `MyModel#delete` without losing the record forever ## Methods Please see the `SoftDelete` module and the associated tests for a description of the methods that will be added to your model. * `.not_deleted` - records without a deleted_at timestamp * `.deleted` - records with a deleted_at timestamp * `#delete` - set the deleted_at timestamp * `#delete!` - delete the record from the database * `#destroy` - set the deleted_at timestamp, and run callbacks * `#destroy!` - delete the record from the database, and run callbacks * `#restore` - set the deleted_at timestamp to nil It will be necessary to exclude deleted records when querying the model. Use the `not_deleted` scope that now exists on the model. ```ruby class MyModelsController < ApplicationController def index @my_models = MyModel.not_deleted end end ``` ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/workbar-dev/soft_delete. ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
# Mint::Money Mint::Money perform currency conversion and arithmetics with different currencies. ## Installation Add this line to your application's Gemfile: ```ruby gem 'mint-money' ``` And then execute: $ bundle Or install it yourself as: $ gem install mint-money ## Usage ``` # Configure the currency rates with respect to a base currency (here EUR): Money.conversion_rates('EUR', { 'USD' => 1.11, 'Bitcoin' => 0.0047 }) ``` ``` # Instantiate money objects: fifty_eur = Money.new(50, 'EUR') # Get amount and currency: fifty_eur.amount # => 50 fifty_eur.currency # => "EUR" fifty_eur.inspect # => "50.00 EUR" ``` ``` # Convert to a different currency (should return a Money # instance, not a String): fifty_eur.convert_to('USD') # => 55.50 USD ``` ``` # Perform operations in different currencies: twenty_dollars = Money.new(20, 'USD') # Arithmetics: fifty_eur + twenty_dollars # => 68.02 EUR fifty_eur - twenty_dollars # => 31.98 EUR fifty_eur / 2 # => 25 EUR twenty_dollars * 3 # => 60 USD ``` ``` # Comparisons (also in different currencies): twenty_dollars == Money.new(20, 'USD') # => true twenty_dollars == Money.new(30, 'USD') # => false fifty_eur_in_usd = fifty_eur.convert_to('USD') fifty_eur_in_usd == fifty_eur # => true twenty_dollars > Money.new(5, 'USD') # => true twenty_dollars < fifty_eur # => true ``` ## 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/mpakus/mint-money. [](https://circleci.com/gh/mpakus/mint-money)
# 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).
# Dotbot: A Cute Lil' Dotfiles Manager I made a simple little dotfiles manager because I got tired of creating symlinks all the time. ## Installation You can install `dotbot` via the `gem` command: $ gem install dotbot Once you have it installed, either create a `~/.dotbot` file (YAML) with the following contents. ``` dir: ~/.dotfiles # or whatever your preferred location is ``` Optionally, instead of a .dotbot file, you can use environment variables, each of the pattern DOTBOT_<var>. For instance, you could execute some commands by saying $ DOTBOT_DIR=~/shnargleflorp dotbot update More commands and options to come later. ## Usage ### Track a New File $ dotbot track <filename> [--git] This command adds the file to your dotfiles repo and creates a symlink in the file's old location so it will stay updated. Use the `--git` flag to also add/commit/push to your remote dotfiles repo. ### Update Your Dotfiles $ dotbot update This command is pretty much just a `git pull` in your dotfiles repo. ## Development After checking out the repo, run `bin/setup` to install dependencies. 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). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/dotbot-mini. 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](https://opensource.org/licenses/MIT). ## Code of Conduct Everyone interacting in the Dotbot::Mini project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rpalo/dotbot/blob/master/CODE_OF_CONDUCT.md).
# Cryptophysh My attempt to produce a solution to the requirements listed [here](https://github.com/krystal/code-tasks/blob/main/password-generator.md). Essentially, a library/gem you can include in to your own code to add a `::generate_password` class method on a class. I've pushed the built gem up to RubyGems for completeness' sake. ## Installation Install the gem and add to the application's Gemfile by executing: $ bundle add cryptophysh If bundler is not being used to manage dependencies, install the gem by executing: $ gem install cryptophysh ## Usage ### Extending your own class `require cryptophysh` and Add to your class: `extend Cryptophysh` Your class will now have access to the `::generate_password` class method. ### Using the Cryptophysh::PasswordGenerator Class See the YARD documentation on the class itself for details. ## 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 the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/cryptophysh. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/kryptykphysh/cryptophysh/blob/master/CODE_OF_CONDUCT.md). ## License The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). ## Code of Conduct Everyone interacting in the Cryptophysh project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/kryptykphysh/cryptophysh/blob/master/CODE_OF_CONDUCT.md).