Ruby
made by https://0x3d.site
GitHub - braintree/runbook: A framework for gradual system automationA framework for gradual system automation. Contribute to braintree/runbook development by creating an account on GitHub.
Visit Site
GitHub - braintree/runbook: A framework for gradual system automation
Runbook
See our blog post for the philosophy behind Runbook and an overview of its features.
Runbook provides a DSL for specifying a series of steps to execute an operation. Once your runbook is specified, you can use it to generate a formatted representation of the book or to execute the runbook interactively. For example, you can export your runbook to markdown or use the same runbook to execute commands on remote servers.
Runbook has two modes for evaluating your runbook. The first mode, view mode, allows you to export your runbook into various formats such as markdown. The second mode, run mode, allows you to execute behavior based on the statements in your runbook.
Runbook can be integrated into existing infrastructure in many different ways. It can be integrated into existing projects to add orchestration functionality, installed on systems as a stand-alone executable, or runbooks can be defined as self-executable scripts. In addition to being useful for automating common tasks, runbooks are a perfect bridge for providing operations teams with step-by-step instructions to handle common issues (especially when solutions cannot be easily automated).
Lastly, Runbook provides an extendable interface for augmenting the DSL and defining your own behavior.
Features
- Remote Command Execution - Runbook lets you execute commands on remote hosts using SSHKit
- Dynamic Control Flow - Runbooks can start execution at any step and can skip steps based on user input.
- Resumable - Runbooks save their state at each step. If your runbook encounters an error, you can resume your runbook at the previous step after addressing the error.
- Noop and Auto Modes - Runbooks can be executed in noop mode. This allows you to see what a runbook will do before it executes. Runbooks can be run in auto mode to eliminate the need for human interaction.
- Execution Lifecycle Hooks - Runbook provides before, after, and around hooks to augment its execution behavior.
- Tmux Integration - Runbook integrates with tmux. You can define terminal pane layouts and send commands to terminal panes.
- Generators - Runbook provides commands to generate runbooks, extensions, and runbook projects. You can define your own generators for easy, customized runbook creation.
- Extendable DSL - Runbook's DSL is designed to be extendable. You can extend its DSL to add your own behavior.
Use Cases
Though Runbook can solve a myriad of problems, it is best used for removing the need for repeated, rote developer operations. Runbook allows developers to execute processes at a higher level than that of individual command-line commands. Additionally, Runbook provides features to simply and safely execute operations in mission-critical environments.
Runbook is not intended to replace more special-purpose automation solutions such as configuration management solutions (Puppet, Chef, Ansible, Salt), deployment solutions (Capistrano, Kubernetes, Docker Swarm), monitoring solutions (Nagios, Datadog), or local command execution (shell scripts, Rake tasks, Make). Instead Runbook is best used as a glue when needing to accomplish a task that cuts across these domains.
Quick Start
Installation
Add this line to your application's Gemfile:
gem 'runbook'
And then execute:
$ bundle
Or install it yourself as:
$ gem install runbook
Your First Runbook
Generate a runbook using the Runbook Generator:
$ runbook generate runbook my_first_runbook
Execute the runbook:
$ runbook exec my_first_runbook.rb
Slightly Longer Start
When setting up Runbook, you can install it at a system level, create a dedicated runbook project, or incorporate Runbook into an existing project.
System Level Setup
Install runbook at a system level using gem
:
$ gem install runbook
Set any Runbook configuration in /etc/runbook.conf
.
Generate runbook files using runbook generate runbook
. Execute runbook generate help runbook
for more details.
Installing Runbook at a system level can be useful for executing runbooks on remote hosts or within docker containers. One disadvantage of installing Runbook at a system level is that there is no built-in solution for dependency management.
New Project Setup
Install runbook using gem
:
$ gem install runbook
Generate a new runbook project:
$ runbook generate project <PROJECT_NAME>
This will generate a new runbook project. Cd into your project directory and initialize its dependencies:
$ cd <PROJECT_NAME> && bin/setup
Existing Project Setup
Add this line to your project's Gemfile:
gem 'runbook'
Install the Runbook gem:
$ bundle install
Initialize Runbook in your project:
$ bundle exec runbook init
Contents
- 1. Runbook Anatomy
- 2. Working With Runbooks
- 3. Configuration
- 4. Best Practices
- 5. Generators
- 6. Extending Runbook
- 7. Testing
- 8. Known Issues
- 9. FAQ
- 10. Development
- 11. Contributing
- 12. Feature Requests
- 13. License
- 14. Code of Conduct
Runbook Anatomy
Below is an example of a runbook:
Runbook.book "Restart Nginx" do
description <<-DESC
This is a simple runbook to restart nginx and verify
it starts successfully
DESC
section "Restart Nginx" do
server "app01.prod"
user "root"
step "Stop Nginx" do
note "Stopping Nginx..."
command "service nginx stop"
assert %q{service nginx status | grep "not running"}
end
step { wait 5 }
step "Start Nginx" do
note "Starting Nginx..."
command "service nginx start"
assert %q{service nginx status | grep "is running"}
confirm "Nginx is taking traffic"
notice "Make sure to report why you restarted nginx"
end
end
end
Hierarchically, a runbook looks like this:
Entities, Statements, and Setters
A runbook is composed of entities, statements, and setters. Runbook entities contain either other entities or statements. Examples of entities include Books, Sections, and Steps. They define the structure of the runbook and can be considered the "nodes" of the tree structure. As entities are the nodes of the tree structure, statements are the "leaves" of the structure and comprise the various behaviors or commands of the runbook. Setters, typically referenced from within steps, associate state with the node, which can be accessed by its children.
Books, Sections, Steps, and Setup
Entities are composed of a title and a list of items which are their children. Each entity can be rendered with a specific view or executed with a specific run.
Books
Books are the root of a runbook. They are initialized as follows:
Runbook.book "Unbalance node" do
end
Every book requires a title. Books can have description, layout, section, and step children. Descriptions describe the book and are declared with the description
keyword.
Sections
A book is broken up into sections. Every section requires a title. Sections can have descriptions, other sections, or steps as children.
Steps
Steps hold state and group together a set of statements. Steps do not require titles or children. This allows runbooks to be very flexible. You can fill out steps as needed, or be terse when the behavior of the step is self-evident. Steps without titles will not prompt to continue when running in paranoid mode.
Setup
Setup is a special entity that is always executed. It is not skipped when starting or resuming execution in the middle of a runbook. A prompt is never presented to determine if you should or should not execute the setup section. The setup section is similar to the step entity in that it shares the same DSL. In other words, any keywords available within steps are also available within the setup section.
The setup section provides two important use cases. First, it allows you ensure any dependent values are defined when executing your runbook. If skipping the initial steps of your runbook and starting in the middle, you can be sure that any initialization steps have been executed. For example, presume you have a runbook that prompts for a list of servers, stops the servers, and then starts them. It would be advantageous to define the prompting server logic in a setup section, so you can start the runbook at the start server step and know that the list of servers is defined.
Second, if you dynamically define the sections and steps in your runbook based on user input, then doing this in the setup section allows you start the runbook in the middle of the dynamically defined steps.
Because the setup section is always executed, it's execution should be idempotent. In other words, the setup section should be able to be executed multiple times in a row and produce the same result.
It may be ideal to ensure user input is only asked for once when executing a setup section.
Runbook.book "Make Pizza" do
setup do
ruby_command do
@toppings ||= ENV["TOPPINGS"]
ask "What toppings would you like?", into: :toppings, default: "cheese" unless @toppings
end
end
end
The above example will set @toppings
from a passed-in environment variable if present, otherwise it will ask the user to set @toppings
. If toppings have already has been defined from a previous execution, it will not prompt the user for the value again. Because this logic references a value that is defined at runtime (@toppings
), it must be wrapped in a ruby_command
.
Tags and Labels
Any entity can be associated with arbitrary tags or labels. Once tags or labels are assigned, entity behavior can be modified using hooks.
Runbook.book "Bounce Nodes", :untested do
step "Disable monitoring", :skip do
confirm "Have you disabled health monitoring?"
end
step "Restart nodes", :aws_only, :mutator, labels: {rails_env: :production} do
confirm "Have you restarted the nodes?"
end
end
Runbook::Runs::SSHKit.register_hook(:warn_for_untested_runbook, :before, Runbook::Entities::Book) do |object, metadata|
warning = "This runbook has not yet been tested. Beware of bugs!"
metadata[:toolbox].warn(warning) if object.tags.include?(:untested)
end
Runbook::Runs::SSHKit.register_hook(:skip_skippable_entities, :around, Runbook::Entity) do |object, metadata, block|
next if object.tags.include?(:skip)
next if object.labels[:rails_env] && object.labels[:rails_env] != ENV["RAILS_ENV"]
block.call
end
Statements
Statements are the workhorses of runbooks. They comprise all the behavior runbooks execute. Runbook comes with the following statements:
Ask
Prompts the user for a string and stores its value on the containing step entity. Once this statement is executed, its value is accessed as an instance variable under the into
parameter. This value can be referenced in later statements such as the ruby_command
statement. An optional default
value can be specified. An optional echo
parameter can be specified to indicate whether typed input should be echoed to the screen.
ask "What percentage of requests are failing?", into: :failing_request_percentage, default: "100", echo: true
ruby_command do
note "Failing request percentage: #{@failing_request_percentage}"
end
In the above example, the note
statement must be wrapped in a ruby_command
statement. Without wrapping note
in a ruby_command
, it would be evaluated at compile time but the user will only be asked for input when the runbook is executed (so @failing_request_percentage
would not have a value). If you find yourself wrapping many or all runbook statements in ruby commands it may make sense to set these values at compile time using environment variables.
Assert
Runs the provided cmd
repeatedly until it returns true. A timeout and maximum number of attempts can be set. When either the attempt or timeout limit is hit, a command can be specified that will be run. If no command is specified, the process will fail. Commands can optionally be specified as raw
. This tells SSHKit to not perform auto-wrapping of the commands, but execute the exact string on the remote server. See SSHKit's documentation for more details.
assert(
'service nginx status | grep "is running"',
cmd_ssh_config: {servers: ["host1.prod"], parallelization: {strategy: :parallel}},
cmd_raw: false,
interval: 3, # How often, in seconds, to wait between tries
timeout: 300, # Total time, in seconds, to keep trying command, after which it will fail
attempts: 3, # Total number of attempts after which the process will fail
abort_statement: Runbook::Statements::Command.new(
"echo 'help' | mail -s 'need help' [email protected]",
ssh_config: {servers: [:local], parallelization: {strategy: :parallel}},
raw: false
)
)
Capture
Runs the provided cmd
and captures its output into into
. Once captured, this value can be referenced in later statements such as the ruby_command
statement. An optional ssh_config
can be specified to configure how the capture command gets run. Capture commands take an optional strip
parameter that indicates if the returned output should have leading and trailing whitespace removed. Capture commands also take an optional raw
parameter that tells SSHKit whether the command should be executed as is, or to include the auto-wrapping of the ssh_config.
capture %Q{wc -l file.txt | cut -d " " -f 1}, into: :num_lines, strip: true, ssh_config: {user: "root"}
Capture All
Accepts the same parameters as capture
, but returns a hash of server names to capture results. capture_all
should be used whenever multiple servers are specified because the returned result of capture
is non-deterministic when specifying multiple servers.
capture_all %Q{wc -l file.txt | cut -d " " -f 1}, into: :num_lines, strip: true, ssh_config: {servers: ["host1.stg", "host2.stg"]}
Command
Runs the provided cmd
. An optional ssh_config
can be specified to configure how the command gets run. Commands also take an optional raw
parameter that tells SSHKit whether the command should be executed as is, or to include the auto-wrapping of the ssh_config.
command "service nginx start", ssh_config: {servers: ["host1.prod", "host2.prod"], parallelization: {strategy: :groups}}
Confirm
Proposes the prompt to the user and exits if the user does not confirm the prompt.
confirm "Asset requests have started trickling to the box"
Description
Prints the description in an unformatted manner to the user
description <<-DESC
This message will print directly to the user as written, without
additional formatting.
DESC
Download
Downloads the specified file to to
. An optional ssh_config
can be specified to configure how the download command gets run, for example specifying the remote host and remote directory to download from. Optional options
can be specified that get passed down to the underlying sshkit implementation
download '/home/pblesi/rad_file.txt', to: my_rad_file.txt, ssh_config: {servers: ["host1.prod"]}, options: {log_percent: 10}
Layout
Defines a tmux layout to be used by your runbook. When executing the runbook, the specified layout will be initialized. This statement can only be specified at the book level. See Tmux Layouts for more details.
layout [[
[:runbook, :deploy],
[:monitor_1, :monitor_2, :monitor_3],
]]
Note
Prints a short note to the user.
note "This operation kills all zombie processes"
Notice
Prints out an important message to the user.
notice "There be dragons!"
Ruby Command
Executes its block in the context of the parent step. The block is passed the ruby_command statement, the execution metadata, and the run as arguments.
ruby_command do |rb_cmd, metadata, run|
if (failure_rate = rb_cmd.parent.failing_request_percentage) > 25
`echo 'Help! failure rate at #{failure_rate}' | mail -s 'High failure rate!' [email protected]`
else
`echo "Experienced failure rate of #{failure_rate}" | mail -s 'Help me eventually' not-urgent@my_site.com`
end
notice "Email sent!"
end
Metadata at execution time is structured as follows:
{
book_title: "Restart Nginx", # The title of the current runbook
depth: 1, # The depth within the tree (book starts at depth 1)
index: 0, # The index of the item in terms of it's parent's children (starts at 0 for first child)
position: "1.1", # A string representing your current position within the tree
noop: false, # A boolean indicating if you are running in noop mode. ruby_command blocks are never evaluated in noop mode
auto: false, # A boolean indicating if you are running in auto mode
paranoid: true, # A boolean indicating if you are running in paranoid mode (prompting before each step)
keep_panes: false, # A boolean indicating whether panes should be kept open after completion
start_at: 0, # A string representing the step where nodes should start being processed
toolbox: Runbook::Toolbox.new, # A collection of methods to invoke side-effects such as printing and collecting input
layout_panes: {}, # A map of pane names to pane ids. `layout_panes` is used by the `tmux_command` to identify which tmux pane to send the command to
repo: {}, # A repository for storing data and retrieving it between ruby_commands. Any data stored in the repo is persisted if a runbook is stopped and later resumed.
}
Additional methods that the ruby_command
block has access to are:
metadata[:toolbox].prompt
: ATTY::Prompt
for retrieving input from the usermetadata[:toolbox].ask(msg)
: retrieve user inputmetadata[:toolbox].yes?(msg)
: provide the user with a yes/no promptmetadata[:toolbox].output(msg)
: output text to the usermetadata[:toolbox].warn(msg)
: output warning text to the usermetadata[:toolbox].error(msg)
: output error text to the usermetadata[:toolbox].exit(return_value)
: exit the process with the specified response code
Tmux Command
Runs the provided cmd
in the specified pane
.
tmux_command "tail -Fn 100 /var/log/nginx.log", :monitor_1
Upload
Uploads the specified file to to
. An optional ssh_config
can be specified to configure how the upload command gets run, for example specifying the remote host and remote directory to upload to. Optional options
can be specified that get passed down to the underlying sshkit implementation
upload my_secrets.yml, to: secrets.yml, ssh_config: {servers: ["host1.prod"]}, options: {log_percent: 10}
Wait
Sleeps for the specified amount of time (in seconds)
wait 5
Tmux Layouts
Runbook provides native support for defining tmux layouts and executing commands in separate tmux panes. Layouts are specified by passing an array or hash to the layout
statement in book blocks.
Runbook.book "My Book" do
layout [
:left,
{name: :middle, directory: "/var/log", command: "tail -Fn 100 auth.log"},
[:top_right, {name: :bottom_right, runbook_pane: true}]
]
end
When layout is passed as an array, each element of the array represents a pane stacked side-by-side with the other elements. Elements of the array can be symbols, hashes, or arrays.
Symbols and hashes represent panes. Hash keys for a pane include name
, directory
, command
, and runbook_pane
. name
is the identifier used for the pane. This is used when specifying what pane you want to execute tmux commands in. directory
indicates the starting directory of the pane. command
is the initial command to execute in the pane when it is created. runbook_pane
indicates which pane in the layout should hold the executing runbook. Only one pane should be designated as the runbook_pane
and the runbook pane should not have a directory or command specified.
Arrays nested underneath the initial array split the pane from top to bottom. Arrays nested under these arrays split the pane from side to side, ad infinitum. You can start spliting panes from top to bottom as opposed to side-by-side by immediately nesting an array.
Runbook.book "Stacked Layout" do
layout [[
:top,
:middle,
:bottom,
]]
end
When a hash is passed to layout
, the keys of the hash represent window names and the values represent pane layouts.
Runbook.book "Multi Window Layout" do
layout({
:web_monitor => [
:left, :middle, :right,
],
:db_monitor => [[
:top, :middle, :bottom,
]]
})
end
Notice in the example that parenthesis are used to wrap the hash. Ruby will raise a syntax error if layout
's argument is not wrapped in parenthesis when passing a hash. Runbook expects that it is running in the last window in a tmux session. If you are running a runbook that uses a multi-window layout, the layout will not work unless runbook is running in the last window in the session.
If you want panes to be un-evenly spaced, you can replace the array of panes with a hash where the keys are panes and the values are numbers. The panes will be spaced according to the specified numbers.
Runbook.book "Uneven Layout" do
layout [[
{:left => 20, {name: :middle, runbook_pane: true} => 60, :right => 20},
{:bottom_left => 5, :bottom_right => 5},
]]
end
Tmux layouts are persisted between runs of the same runbook. As long as none of the panes initially created by the runbook are closed, running the same runbook in the same pane will not recreate the tmux layout, but will reuse the existing layout. This is helpful when a runbook does not complete and must be restarted. When a runbook finishes, it asks if you want to close all opened panes. If your runbook is running in auto mode it will automatically close all panes when finished.
Setters
Setters set state on the parent item, typically the containing step. Runbook comes with the following setters:
parallelization: Specifies the SSHKit parallelization parameters for all commands in the entity. The default parallelization strategy is :parallel
. Other strategies include :sequence
and :groups
. See SSHKit for more details on these options.
parallelization strategy: :parallel, limit: 2, wait: 2
server: Specifies the server to use for all commands in the entity. This command in conjunction with servers
are declarative and overwrite each other. So if you specify server
once, servers
twice and finally, server
again, only the last designation will be used to run the commands.
server "db01.qa"
servers: Used to specify a list of servers for the entity. All commands contained in this entity will be run against this list of servers (unless they have been overridden by a lower config.)
servers "app01.qa", "app02.qa"
path: Specify the path from which commands in this step will execute.
path "/home/sholmes"
user: Specify the user that the command will be run as
user "root"
group: Specify the effective group the commands will be run as
group "devs"
env: Specify the environment for the commands
env {rails_env: :production}
umask: Specify the umask the commands will be run with
umask "077"
Additionally, Step
provides an ssh_config
helper method for generating ssh_configs that can be passed to command statements.
step do
cmd_ssh_config = ssh_config do
server "host1.qa"
user "root"
end
command "echo $USER", ssh_config: cmd_ssh_config
end
Working With Runbooks
You can integrate with Runbook in several different ways. You can create your own project or incorporate Runbook into your existing projects. You can use Runbook via the command line. And you can even create self-executing runbooks.
Via The Command Line
Runbook can be used to write stand-alone runbook files that can be executed via the command line. Below is a list of examples of how to use Runbook via the command line.
Get Runbook usage instructions
$ runbook help
Render my_runbook.rb
in the default view format (markdown)
$ runbook view my_runbook.rb
Execute my_runbook.rb
using the default executor (ssh_kit)
$ runbook exec my_runbook.rb
Execute my_runbook.rb
in no-op mode, preventing commands from executing.
$ runbook exec --noop my_runbook.rb
Execute my_runbook.rb
in auto mode. Runbooks that are executed in auto mode do not prompt the user for input.
$ runbook exec --auto my_runbook.rb
Execute my_runbook.rb
starting at position 1.2.1. All prior steps in the runbook will be skipped
$ runbook exec --start-at 1.2.1 my_runbook.rb
Execute my_runbook.rb
without confirmation between each step
$ runbook exec --no-paranoid my_runbook.rb
Environment variables can be specified via the command line, modifying the behavior of the runbook at runtime.
$ HOSTS="appbox{01..30}.prod" ENV="production" runbook exec --start-at 1.2.1 my_runbook.rb
From Within Your Project
Runbooks can be executed using the Runbook::Viewer
and Runbook::Runner
classes. Using these classes, you can invoke runbooks from within your existing codebase. This could be ideal for several reasons. It allows you to maintain a consistent interface with other system tasks such as rake tasks or cap tasks. It allows you to perform setup or sanity check functionality before executing your runbooks. And it allows you to load an environment to be accessed within your runbooks, such as providing access to a canonical list of servers or shared business logic.
Executing a runbook using Runbook::Viewer
Runbook::Viewer.new(book).generate(view: :markdown)
In this case book is a Runbook::Entities::Book
and :markdown
refers to the specific view type (Runbook::Views::Markdown
).
Executing a runbook using Runbook::Runner
Runbook::Runner.new(book).run(run: :ssh_kit, noop: false, auto: false, paranoid: true, start_at: "0")
This will execute book
using the Runbook::Runs::SSHKit
run type. It will not run the book in noop
mode. It will not run the book in auto
mode. It will run the book in paranoid
mode. And it will start at the beginning of the book. Noop mode runs the book without side-effects outside of printing what it will execute. Auto mode will skip any prompts in the runbook. If there are any required prompts in the runbook (such as the ask
statement), then the run will fail. Paranoid mode will prompt the user for whether they should continue at every step. Finally start_at
can be used to skip parts of the runbook or to restart at a certain point in the event of failures, stopping and starting the runbook, etc.
Self-executable
Runbooks can be written to be self-executable
#!/usr/bin/env ruby
# my_runbook.rb
require "runbook"
runbook = Runbook.book "Say hello to world" do
section "Address the world" do
step { command "echo 'hello world!'" }
step { confirm "Has the world received your greeting?" }
end
end
if __FILE__ == $0
Runbook::Runner.new(runbook).run
else
runbook
end
This runbook can be executed via the command line or evaluated from within an existing project
$ ./my_runbook.rb
load "my_runbook.rb"
runbook = Runbook.books.last # Runbooks register themselves to Runbook.books when they are defined
# (Or alternatively `runbook = eval(File.read("my_runbook.rb"))`)
Runbook::Runner.new(runbook).run(auto: true)
Configuration
Runbook is configured using its configuration object. Below is an example of how to configure Runbook.
Runbook.configure do |config|
config.ssh_kit.umask = "077"
config.ssh_kit.default_runner_config = {in: :groups, limit: 5}
config.ssh_kit.default_env = {rails_env: :staging}
config.enable_sudo_prompt = true
config.use_same_sudo_password = true
end
If the ssh_kit
configuration looks familiar, that's because it's an SSHKit Configuration object. Any configuration options set on SSHKit.config
can be set on config.ssh_kit
.
Configuration Files
Runbook loads configuration from a number of predefined files. Runbook will attempt to load configuration from the following locations on startup: /etc/runbook.conf
, a Runbookfile
in a parent directory from the current directory, a .runbook.conf
file in the current user's home directory, a file specified with --config
on the command line, any configuration specified in a runbook. Runbook will also load configuration from these files in this order of preference, respectively. That is, configuration values specified at the project level (Runbookfile
) will override configuration values set at the global level (/etc/runbook.conf
), etc.
Best Practices
The following are best practices when developing your own runbooks.
Iterative Automation
Runbooks allow for a gradual transition from entirely manual operations to full automation. Runbooks can start out as a simple outline of all steps required to carry out an operation. From there, commands and prompts can be added to the runbook, actually carrying out and replacing the manual processes.
Monitoring can transition from a process required by a human into something that can be codified and executed by your runbook. Eventually, the runner's auto
flag can be used to allow the runbook to run uninterrupted without any human intervention. These runbooks can be triggered automatically in response to detected events. This will allow you to do more important things with your time, like eat ice cream.
Parameterizing Runbooks
You will typically want to parameterize your runbooks so they can be run against different hosts or in different environments. Because runbooks are Ruby, you have a multitude of options for parameterizing your runbooks, from config files, to getting host information via shell commands, to using environment variables. Here's an example of a few of these methods:
host = ENV["HOST"] || "<host>"
replication_host = ENV["REPLICATION_HOST"] || "<replication_host>"
env = `facter environment`
rails_env = `facter rails_env`
customer_list = File.read("/tmp/customer_list.txt")
Passing State
Runbook provides a number of different mechanisms for passing state throughout a runbook. For any data that is known at compile time, local variables can be used because Runbooks are lexically scoped.
home_planet = "Krypton"
Runbook.book "Book Using Local Variables" do
hometown = "Smallville"
section "My Biography" do
step do
note "Home Planet: #{home_planet}"
note "Home Town: #{hometown}"
end
end
end
When looking to pass data generated at runtime, for example data from ruby_command
, ask
, or capture
statements, Runbook persists and synchronizes instance variables for these commands.
Runbook.book "Book Using Instance Variables" do
section "The Transported Man" do
step do
ask "Who's the greatest magician?", into: :greatest, default: "Alfred Borden"
ruby_command { @magician = "Robert Angier" }
end
step do
ruby_command {
note "Magician: #{@magician}"
note "Greatest Magician: #{@greatest}"
}
end
end
end
Instance variables are only passed between statements such as ruby_command
. They should not be set on entities such as steps, sections, or books. Instance variables are persisted using metadata[:repo]
. They are copied to the repo after each statement finishes executing and copied from the repo before each statement starts executing. Because instance variables utilize the repo, they are persisted if the runbook is stopped and restarted at the same step.
Be careful with your naming of instance variables as it is possible to clobber the step's DSL methods because they share the same namespace.
Execution Best Practices
As a best practice, Runbooks should always be nooped before they are run. This will allow you to catch runtime errors such as using the ask statement when running in auto mode, typos in your runbooks, and to visually confirm what will be executed.
Additionally, it can be nice to have a generated view of the runbook you are executing to have a good high-level overview of the steps in the runbook.
Remote Command Execution
Runbook uses SSHKit for remote command execution. When specifying servers
, you are specifying the target host to execute the command. If you want to use a non-standard port or login using a different user than your current user, then you can specify the server
as [email protected]:2345
. Alternatively, you can use an ssh config file such as ~/.ssh/config
to specify the user and port used to ssh to a given host. See Capistrano's SSH setup instructions for further support on setting up SSH to execute commands on remote hosts.
The user
setter designates the user you will sudo as once sshed to the remote host. Runbook supports password-protected sudo execution. That is, if your server requires a password to execute commands as another user, Runbook will allow you to enter your password when prompted. The enable_sudo_prompt
configuration value controls this behavior. Enabling the sudo password prompt requires that your commands execute using a tty, which can lead to unexpected behavior when executing certain commands. Enabling use_same_sudo_password
will use the same password accross different hosts and users instead of re-prompting for each unique user/host combo.
Composing Runbooks
Runbooks can be composed using the add
keyword. Below is an example of composing a runbook from smaller, reusable components.
restart_services_section = Runbook.section "Restart all services" do
step "Restart nginx"
step "Restart postgres"
end
Runbook.book "Update configuration" do
section "Change config" do
command "sed -i 's/listen 8080;/listen 80;/' /etc/nginx/nginx.conf"
end
add restart_services_section
end
If you want to parameterize these runbook snippets, you can place them in a ruby function that takes arguments and generates the desired entity or statement. If these snippets set information that is used by the runbook, such as with capture
statements, it is a good practice to parameterize where the result is stored. This lets the snippet fit different contexts and makes clear what data is being returned from the snippet.
Deep Nesting
Because the Runbook DSL is declarative, it is generally discouraged to develop elaborate nested decision trees. For example, it is discouraged to use the ask
statement to gather user feedback, branch on this information in a ruby_command
, and follow completely separate sets of steps. This is because deep nesting eliminates the benefits of the declarative DSL. You can no longer noop the deeply nested structure for example.
If you are looking to make a complex decision tree, it is recommended that you do this by composing separate runbooks or entities and nooping those entities separately to ensure they work as expected. Below is an example of a few different ways to compose nested runbooks
step "Inspect plate" do
ask "What's on the plate?", into: :vegetable
ruby_command do |rb_cmd, metadata|
case (veggie = @vegetable)
when "carrots"
add carrots_book
when "peas"
system("runbook exec examples/print_peas.rb")
else
metadata[:toolbox].warn("Found #{veggie}!")
end
end
end
The first delegation add carrots_book
adds the book to the execution tree of the current runbook. Sections and steps become sub-sections and sub-steps of the current step. The second delegation spins up an entirely new process to run the print_peas
runbook in isolation. Either delegation could be preferred, depending on your needs.
Load vs. Eval
Runbooks can be loaded from files using load
or eval
:
load "my_runbook.rb"
runbook = Runbook.books.last # Runbooks register themselves to Runbook.books when they are defined
runbook = eval(File.read("my_runbook.rb"))
Loading your runbook file is more ideal, but adds slight complexity. This method is prefered because the Ruby mechanism for retrieving source code does not work for code that has been eval
ed. This means that you will not see ruby_command
code blocks in view and noop output when using the eval
method. You will see an "Unable to retrieve source code" message instead.
Generators
Runbook provides a number of generators accessible via the command line that can be used to generate code for new runbooks, Runbook projects, and Runbook extensions. Additionally, Runbook provides a generator generator so you can define your own custom generators.
Predefined Generators
Runbook provides a number of predefined generators. You can see the full list using Runbook's command line help.
$ runbook help generate
Commands:
runbook generate dsl_extension NAME [options] # Generate a dsl_extension for adding custom runbook DSL functionality
runbook generate generator NAME [options] # Generate a runbook generator named NAME, e.x. acme_runbook
runbook generate help [COMMAND] # Describe subcommands or one specific subcommand
runbook generate project NAME [options] # Generate a project for your runbooks
runbook generate runbook NAME [options] # Generate a runbook named NAME, e.x. deploy_nginx
runbook generate statement NAME [options] # Generate a statement named NAME (e.x. ruby_command) that can be used in your runbooks
Base options:
-c, [--config=CONFIG] # Path to runbook config file
[--root=ROOT] # The root directory for your generated code
# Default: .
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend], [--no-pretend] # Run but do not make any changes
-q, [--quiet], [--no-quiet] # Suppress status output
-s, [--skip], [--no-skip] # Skip files that already exist
Unless otherwise specified, all NAME
arguments should be specified in a snake case format (e.x. acme_runbook
). The -p/--pretend
flag can be helpful for seeing what files a generator will create before it creates them.
Custom Generators
The generator generator is useful for defining your own custom generators. Runbook uses Thor Generators in the background, so any functionality you can do using Thor Generators can also be done using Runbook generators.
Generate your own generator using the generate generator
command
$ runbook generate generator my_new_generator --root lib/runbook/generators
create my_new_generator
create my_new_generator/templates
create my_new_generator/my_new_generator.rb
my_new_generator/my_new_generator.rb
contains all the logic for generating your new code including arguments, options, and new files. ERB-templated files live in my_new_generator/templates
. Remember to require your generator file in a runbook config file such as your Runbookfile
so it can be loaded by the CLI. Generators cannot be required in config files specified at the command line due to the order with which the command line code is loaded. Once loaded, any child classes of Runbook::Generators
will be included in Runbook's generator CLI.
Extending Runbook
Runbook can be extended to add custom functionality.
Adding New Statements
In order to add a new statement to your DSL, create a class under Runbook::Statements
that inherits from Runbook::Statement
. This statement will be initialized with all arguments passed to the corresponding keyword in the DSL. Remember to also add a corresponding method to runs and views so your new statement can be interpreted in each context.
module Runbook::Statements
class Diagram < Runbook::Statement
attr_reader :alt_text, :url
def initialize(alt_text, url)
@alt_text = alt_text
@url = url
end
end
end
In the above example a keyword diagram
will be added to the step dsl and its arguments will be used to initialize the Diagram object.
New statements can be generated using the statement generator.
$ runbook generate statement diagram --root lib/runbook/extensions
Adding Run and View Functionality
You can add handlers for new statements and entities to your runs and views by prepending the modules with the new desired functionality.
module MyRunbook::Extensions
module Diagram
def self.runbook__entities__diagram(object, output, metadata)
output << "![#{object.alt_text}](#{object.url})"
end
end
Runbook::Views::Markdown.prepend(Diagram)
end
If you are not modifying existing methods, you can simply re-open the module to add new methods.
DSL Extensions
You can add arbitrary keywords to your entity DSLs. For example, you could add an alias to Runbook's Book DSL as follows:
module MyRunbook::Extensions
module Aliases
module DSL
def s(title, &block)
section(title, &block)
end
end
end
Runbook::Entities::Book::DSL.prepend(Aliases::DSL)
end
DSL extensions can be generated using the dsl_extension generator.
$ runbook generate dsl_extension aliases --root lib/runbook/extensions
Adding Runs and Views
You can add new run and view types by defining modules under Runbook:::Runs
and Runbook::Views
respectively. They will automatically be accessible from the command line or via the Runner
and Viewer
classes. See lib/runbook/runs/ssh_kit.rb
or lib/runbook/views/markdown.rb
for examples of how to implement runs and views.
module Runbook::Views
module Yaml
include Runbook::View
# handler names correspond to the entity or statement class name
# Everything is underscored and "::" is replaced by "__"
def self.runbook__entities__book(object, output, metadata)
output << "---\n"
output << "book:\n"
output << " title: #{object.title}\n"
end
# Add other handlers here
end
end
Augmenting Functionality With Hooks
You can add before
, after
, or around
hooks to any statement or entity by defining a hook on a Run
or View
.
Runbook::Runs::SSHKit.register_hook(
:notify_slack_of_step_run_time,
:around,
Runbook::Entities::Step
) do |object, metadata, block|
start = Time.now
block.call(object, metadata)
duration = Time.now - start
unless metadata[:noop]
message = "Step #{metadata[:position]}: #{object.title} took #{duration} seconds!"
notify_slack(message)
end
end
When registering a hook, you specify the name of the hook, the type, and the statement or entity to add the hook to. before
and after
hooks execute the block before and after executing the entity or statement, respectively. around
hooks take a block which executes the specified entity or statement. When specifying the class that the hook applies to, you can have the hook apply to all entities by specifying Runbook::Entity
, all statements by specifying Runbook::Statement
, or all items by specifying Object
. Additionally, you can specify any specific entity or statement you would like the hook to apply to.
Hooks are defined on the run or view objects themselves. For example, you would register a hook with Runbook::Runs::SSHKit
to have the hook be applied to the SSHKit
run. You would register a hook with the Runbook::Views::Markdown
view to have hooks apply to this view. If you want to apply a hook to all runs or views, you can use the Runbook.runs
method or Runbook.views
method to iterate through the runs or views respectively.
Runbook.runs.each do |run|
run.register_hook(
:give_words_of_encouragement,
:before,
Runbook::Entities::Book
) do |object, metadata|
metadata[:toolbox].output("You've got this!")
end
end
Hooks can be defined anywhere prior to runbook execution. If defining a hook for only a single runbook, it makes sense to define the hook immediately prior to the runbook definition. If you want a hook to apply to all runbooks in your project, it can be defined in a config file such as the Runbookfile
. If you want to selectively apply the hook to certain runbooks, it may make sense to define it in a file that can be required by runbooks when it is needed.
When starting at a certain position in the runbook, hooks for any preceding sections and steps will be skipped. After hooks will be run for a parent when starting at a child entity of a parent.
Adding New Run Behaviors
Every Entity and Statement gets access to a Toolbox in metatada[:toolbox]
. This toolbox is used to provide methods with side effects (such as printing messages) when rendering and running your runbooks. Additional behaviors can be added to the toolbox by prepending Runbook::Toolbox
.
module MyRunbook::Extensions
module Logger
def initialize
super
log_file = ENV["LOG_FILE"] || "my_log_file.log"
@logger = Logger.new(log_file)
end
def log(msg)
@logger.info(msg)
end
end
Runbook::Toolbox.prepend(Logger)
end
Now you can access log
in your handler code using metadata[:toolbox].log("Come on ride the train, train")
.
module MyRunbook::Extensions
module Logging
def self.runbook__entities__book(object, metadata)
super
metadata[:toolbox].log("Executing #{object.title}")
end
end
Runbook::Runs::SSHKit.prepend(Logging)
end
Adding to Runbook's Run Metadata
You may want to add additional data to metadata at the time it is initialized so every node can have access to this data. You can add additional metadata to runs by prepending Runbook::Runner
.
module MyRunbook::Extensions
module RunbookNotesMetadata
def additional_metadata
super.merge({
notes: []
})
end
end
Runbook::Runner.prepend(RunbookNotesMetadata)
end
Adding to Runbook's Configuration
You can add additional configuration to Runbook's configuration by prepending Runbook::Configuration.
module MyRunbook::Extensions
module Configuration
attr_accessor :log_level
def initialize
super
self.log_level = :info
end
end
Runbook::Configuration.prepend(Configuration)
end
This will add a log_level
attribute to Runbook's configuration with a default value of :info
. This configuration value can be accessed via Runbook.config.log_level
.
Testing
Runbooks are inherently difficult to test because they are primarily composed of side-effects. That being said, there are a number of strategies you can employ to test your runbooks.
- Push complex logic to stand-alone Ruby objects that can be tested in isolation
- Use
TEST
orDEBUG
environment variables to conditionally disable side-effects during execution - Execute your runbooks in staging environments
- Noop your runbooks to understand what they will be executing before executing them
See Runbook's test suite for more ideas on how to test your runbooks. For example, Runbook uses aruba to test Runbook at the CLI level.
Additionally, runbooks should contain their own assertions, sanity checks, monitoring, and alerting to mitigate errors and alert you if intervention is required.
Known Issues
Command Quoting (Prior to v1.0)
Because ssh_config declarations such as user
, group
, path
, env
, and umask
are implemented as wrappers around your provided commands, you must be aware that issues can arise if your commands contain characters such as single quotes that are not properly escaped.
As of SSHKit 1.16, declaring the above five ssh_config declarations will produce an ssh command similar to the following:
cd /home/root && umask 077 && ( export RAILS_ENV="development" ; sudo -u root RAILS_ENV="development" -- sh -c 'sg root -c \"/usr/bin/env echo I love cheese\"' )
One specific known issue due to improperly escaped characters is when providing a user declaration, any single quotes should be escaped with the following string: '\\''
command "echo '\\''I love cheese'\\''"
Alternatively, if you wish to avoid issues with SSHKit command wrapping, you can specify that your commands be executed in raw form, passed directly as written to the specified host.
tmux_command
wraps the input passed to it in single quotes. Therefore any single quotes passed to the tmux_command
should be escaped using '\\''
. This issue can manifest itself as part of the command not being echoed to the tmux pane.
Specifying env values
When specifying the env
for running commands, if you place curly braces {}
around the env values, it is required to enclose the arguments in parenthesis ()
, otherwise the following syntax error will result:
syntax error, unexpected ':', expecting '}' (SyntaxError)
Env should be specified as:
env rails_env: :production
or
env ({rails_env: :production})
not as
env {rails_env: :production}
FAQ
Are runbooks compiled?
Yes they are. When you define a runbook, a tree data structure is constructed much like an abstract syntax tree. This is important because you do not have to worry about any side-effects such as executing server commands when this data structure is compiled. Once compiled, choosing either the run or view to execute the runbook object determines what behavior is executed at each node.
Why are runbooks compiled?
Runbook is designed to minimize and mitigate issues that arise when running operations in production enviroments. One way this is accomplished is by compiling all statements in the runbook before execution is started. Validations and assertions can be made to reduce the likelihood that a runbook will encounter an error in the middle of an operation. In other words, Runbook provides some guarantees about proper formatting of a runbook before any commands execute that could affect live systems.
Why is my variable/method not set?
Because runbooks are compiled, statements that set values such as ask
, capture
, and capture_all
statements (using the :into
keyword) only expose their values at runtime. This means any references to these methods or variables (specified with :into
) can only happen within ruby_command
blocks which are evaluated at runtime. If an argument to a statement references the values set by these statements, then the statement must be wrapped in a ruby_command
block. See Passing State for specific examples.
How do I define and call methods within a runbook?
When defining and referencing your own functions in a runbook, functions should be wrapped in a module so they can be referenced globally. For example:
module Adder
def self.add(x, y)
x + y
end
end
Runbook.book "Add Two Numbers" do
step "Add numbers" do
ask "X?", into: :x
ask "Y?", into: :y
ruby_command do |rb_cmd, metadata, run|
metadata[:toolbox].output("Result: #{Adder.add(x, y)}")
end
end
end
Why does my command work on the command line but not in runbook?
There are a number of reasons why a command may work directly on your command line, but not when executed using the command
statement. Some possible things to try include:
- Print the command with any variables substituted
- Ensure the command works outside of runbook
- Use full paths. The
PATH
environment variable may not be set. - Check for aliases. Aliases are usually not set for non-interactive shells.
- Check for environment variables. Differences between your shell environment variables and those set for the executing shell may modify command behavior.
- Check for differing behavior between the bourne shell (
sh
) and your shell (usually bash). - Check that quotes are properly being escaped.
- Simplify the command you are executing and then slowly build it back up
- Check for permissions issues that might cause different execution behavior.
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 execute runbook using this repo, run bundle exec exe/runbook exec examples/layout_runbook.rb
.
To release a new version:
- Update the version number in
version.rb
. - Update the changelog in
CHANGELOG.rb
. - Commit changes with commit messsage: "Bump runbook version to X.Y.Z"
- Run
gem signin
to ensure you can push the new version to rubygems.org - Run
bundle exec rake release
, which will create a git tag for the version and push git commits and tags.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/braintree/runbook. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Feature Requests
Any feature requests are always welcome and will be considered in accordance with time and need. Additionally, existing feature requests are tracked in TODO.md. If you choose to contribute, your contributions will be greatly appreciated. Please reach out before creating any substantial pull requests. A bit of discussion can save a lot of time and increase the chances that your pull request will be accepted.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Runbook project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
More Resourcesto explore the angular.
mail [email protected] to add your project or resources here 🔥.
- 1A modern, responsive admin framework for Ruby on Rails
https://github.com/TrestleAdmin/trestle
A modern, responsive admin framework for Ruby on Rails - TrestleAdmin/trestle
- 2⚡️ Vite.js in Ruby, bringing joy to your JavaScript experience
https://github.com/elmassimo/vite_ruby
⚡️ Vite.js in Ruby, bringing joy to your JavaScript experience - ElMassimo/vite_ruby
- 3Rails Assets
https://rails-assets.org
The solution to assets management in Rails.
- 4Avo
https://avohq.io/rails-admin
Ruby on Rails Admin Panel Framework
- 5Blazing fast deployer and server automation tool
https://github.com/mina-deploy/mina
Blazing fast deployer and server automation tool. Contribute to mina-deploy/mina development by creating an account on GitHub.
- 6Action caching for Action Pack (removed from core in Rails 4.0)
https://github.com/rails/actionpack-action_caching
Action caching for Action Pack (removed from core in Rails 4.0) - rails/actionpack-action_caching
- 7Awesome Ruby | LibHunt
https://ruby.libhunt.com
Your go-to Ruby Toolbox. A collection of awesome Ruby gems, tools, frameworks and software. 1319 projects organized into 137 categories.
- 8Authorization framework for Ruby/Rails applications
https://github.com/palkan/action_policy
Authorization framework for Ruby/Rails applications - palkan/action_policy
- 9Friendly English-like interface for your command line. Don't remember a command? Ask Betty.
https://github.com/pickhardt/betty
Friendly English-like interface for your command line. Don't remember a command? Ask Betty. - pickhardt/betty
- 10:-1: Less.js For Rails
https://github.com/metaskills/less-rails
:-1: :train: Less.js For Rails. Contribute to metaskills/less-rails development by creating an account on GitHub.
- 11A ruby gem for creating navigations (with multiple levels) for your Rails, Sinatra or Padrino applications. Render your navigation as html list, link list or breadcrumbs.
https://github.com/codeplant/simple-navigation
A ruby gem for creating navigations (with multiple levels) for your Rails, Sinatra or Padrino applications. Render your navigation as html list, link list or breadcrumbs. - codeplant/simple-naviga...
- 12A make-like build utility for Ruby.
https://github.com/ruby/rake
A make-like build utility for Ruby. Contribute to ruby/rake development by creating an account on GitHub.
- 13An authentication system generator for Rails applications.
https://github.com/lazaronixon/authentication-zero
An authentication system generator for Rails applications. - GitHub - lazaronixon/authentication-zero: An authentication system generator for Rails applications.
- 14:newspaper: Pooled active support compliant caching with redis
https://github.com/sorentwo/readthis
:newspaper: Pooled active support compliant caching with redis - sorentwo/readthis
- 15🥞 The thin API stack.
https://github.com/crepe/crepe
🥞 The thin API stack. Contribute to crepe/crepe development by creating an account on GitHub.
- 16STDOUT text formatting
https://github.com/geemus/formatador
STDOUT text formatting. Contribute to geemus/formatador development by creating an account on GitHub.
- 17The authorization Gem for Ruby on Rails.
https://github.com/CanCanCommunity/cancancan
The authorization Gem for Ruby on Rails. Contribute to CanCanCommunity/cancancan development by creating an account on GitHub.
- 18General purpose Command Line Interface (CLI) framework for Ruby
https://github.com/dry-rb/dry-cli
General purpose Command Line Interface (CLI) framework for Ruby - dry-rb/dry-cli
- 19The Ruby Toolbox - Know your options!
https://www.ruby-toolbox.com
Explore and compare open source Ruby libraries
- 20Bundler-like DSL + rake tasks for Bower on Rails
https://github.com/rharriso/bower-rails
Bundler-like DSL + rake tasks for Bower on Rails. Contribute to rharriso/bower-rails development by creating an account on GitHub.
- 21Easy Akismet and TypePad AntiSpam integration for Rails
https://github.com/joshfrench/rakismet
Easy Akismet and TypePad AntiSpam integration for Rails - joshfrench/rakismet
- 22Bundler for Sprockets
https://github.com/torba-rb/torba
Bundler for Sprockets. Contribute to torba-rb/torba development by creating an account on GitHub.
- 23A set of Rack middleware and cache helpers that implement various caching strategies.
https://github.com/artsy/garner
A set of Rack middleware and cache helpers that implement various caching strategies. - artsy/garner
- 24Text-based logic question captcha's for Rails 🚫🤖
https://github.com/matthutchinson/acts_as_textcaptcha
Text-based logic question captcha's for Rails 🚫🤖. Contribute to matthutchinson/acts_as_textcaptcha development by creating an account on GitHub.
- 25Autoprefixer for Ruby and Ruby on Rails
https://github.com/ai/autoprefixer-rails
Autoprefixer for Ruby and Ruby on Rails. Contribute to ai/autoprefixer-rails development by creating an account on GitHub.
- 26A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control. Make them flow!
https://github.com/apneadiving/waterfall
A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control. Make them flow! - apneadiving/waterfall
- 27Multi-role and whitelist based authorization gem for Rails (and not only Rails!)
https://github.com/chaps-io/access-granted
Multi-role and whitelist based authorization gem for Rails (and not only Rails!) - chaps-io/access-granted
- 28MidiSmtpServer - brief profile
https://4commerce-technologies-ag.github.io/midi-smtp-server/
The highly customizable ruby SMTP-Server and SMTP-Service library with builtin support for AUTH and SSL/STARTTLS, 8BITMIME and SMTPUTF8, IPv4 and IPv6 and additional features. Whatever purpose of operation is given, if SMTP processing is required, you can choose MidiSmtpServer.
- 29a Ruby command-line application framework
https://github.com/mdub/clamp
a Ruby command-line application framework. Contribute to mdub/clamp development by creating an account on GitHub.
- 30A Rails engine that helps you put together a super-flexible admin dashboard.
https://github.com/thoughtbot/administrate
A Rails engine that helps you put together a super-flexible admin dashboard. - thoughtbot/administrate
- 31Expose libstemmer_c to Ruby
https://github.com/aurelian/ruby-stemmer
Expose libstemmer_c to Ruby. Contribute to aurelian/ruby-stemmer development by creating an account on GitHub.
- 32A dead simple API wrapper
https://github.com/inf0rmer/blanket
A dead simple API wrapper. Contribute to inf0rmer/blanket development by creating an account on GitHub.
- 33OmniAuth is a flexible authentication system utilizing Rack middleware.
https://github.com/omniauth/omniauth
OmniAuth is a flexible authentication system utilizing Rack middleware. - omniauth/omniauth
- 34Command line for your projects
https://github.com/DannyBen/runfile
Command line for your projects. Contribute to DannyBen/runfile development by creating an account on GitHub.
- 35Save time and headaches, and create a more easily maintainable set of pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read, update, delete) user interface needs, leaving you more time to focus on more challenging (and interesting!) problems.
https://github.com/activescaffold/active_scaffold
Save time and headaches, and create a more easily maintainable set of pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read, update, delete) user interface needs, leaving y...
- 36Sunzi: Server configuration automation for minimalists
https://github.com/kenn/sunzi
Sunzi: Server configuration automation for minimalists - kenn/sunzi
- 37First-party email analytics for Rails
https://github.com/ankane/ahoy_email
First-party email analytics for Rails. Contribute to ankane/ahoy_email development by creating an account on GitHub.
- 38brain-dead simple parallel processing for ruby
https://github.com/ahoward/forkoff
brain-dead simple parallel processing for ruby. Contribute to ahoward/forkoff development by creating an account on GitHub.
- 39Jbuilder: generate JSON objects with a Builder-style DSL
https://github.com/rails/jbuilder
Jbuilder: generate JSON objects with a Builder-style DSL - rails/jbuilder
- 40Make highcharts a la ruby , works in rails 5.X / 4.X / 3.X, and other ruby web frameworks
https://github.com/michelson/lazy_high_charts
Make highcharts a la ruby , works in rails 5.X / 4.X / 3.X, and other ruby web frameworks - michelson/lazy_high_charts
- 41Ruby string class extension. It add some methods to set color, background color and text effect on console easier using ANSI escape sequences.
https://github.com/fazibear/colorize
Ruby string class extension. It add some methods to set color, background color and text effect on console easier using ANSI escape sequences. - fazibear/colorize
- 42Ruby in your shell!
https://github.com/tombenner/ru
Ruby in your shell! Contribute to tombenner/ru development by creating an account on GitHub.
- 43A simple, Git-powered wiki with a local frontend and support for many kinds of markup and content.
https://github.com/gollum/gollum
A simple, Git-powered wiki with a local frontend and support for many kinds of markup and content. - gollum/gollum
- 44Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
https://github.com/doorkeeper-gem/doorkeeper
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape. - doorkeeper-gem/doorkeeper
- 45A tiny, HAL-compliant JSON presenter for your Ruby APIs.
https://github.com/crepe/jsonite
A tiny, HAL-compliant JSON presenter for your Ruby APIs. - crepe/jsonite
- 46An opinionated toolkit for writing excellent APIs in Ruby.
https://github.com/interagent/pliny
An opinionated toolkit for writing excellent APIs in Ruby. - interagent/pliny
- 47Ensures presence and type of your app's ENV-variables (mirror)
https://github.com/eval/envied
Ensures presence and type of your app's ENV-variables (mirror) - eval/envied
- 48Easy to use and read action and content based authorizations.
https://github.com/elorest/petergate
Easy to use and read action and content based authorizations. - elorest/petergate
- 49:zap: Don't make your Rubies go fast. Make them go fasterer ™.
https://github.com/DamirSvrtan/fasterer
:zap: Don't make your Rubies go fast. Make them go fasterer ™. :zap: - GitHub - DamirSvrtan/fasterer: :zap: Don't make your Rubies go fast. Make them go fasterer ™.
- 50Pretty print your Ruby objects with style -- in full color and with proper indentation
https://github.com/awesome-print/awesome_print
Pretty print your Ruby objects with style -- in full color and with proper indentation - awesome-print/awesome_print
- 51Compose your business logic into commands that sanitize and validate input.
https://github.com/cypriss/mutations
Compose your business logic into commands that sanitize and validate input. - cypriss/mutations
- 52ActiveModel::Serializer implementation and Rails hooks
https://github.com/rails-api/active_model_serializers
ActiveModel::Serializer implementation and Rails hooks - rails-api/active_model_serializers
- 53A micro library providing Ruby objects with Publish-Subscribe capabilities
https://github.com/krisleech/wisper
A micro library providing Ruby objects with Publish-Subscribe capabilities - krisleech/wisper
- 54A simple ruby authentication solution.
https://github.com/binarylogic/authlogic
A simple ruby authentication solution. Contribute to binarylogic/authlogic development by creating an account on GitHub.
- 55Speedy Rails JSON serialization with built-in caching
https://github.com/codenoble/cache-crispies
Speedy Rails JSON serialization with built-in caching - codenoble/cache-crispies
- 56Date and time formatting for humans.
https://github.com/jeremyw/stamp
Date and time formatting for humans. Contribute to jeremyw/stamp development by creating an account on GitHub.
- 57Yet another role-based authorization system for Rails
https://github.com/be9/acl9
Yet another role-based authorization system for Rails - be9/acl9
- 58lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed. Also, it can generate .sql migration scripts.
https://github.com/plentz/lol_dba
lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed. Also, it can generate .sql migration scripts. - plentz/lol...
- 59Polyglot workflows without leaving the comfort of your technology stack.
https://github.com/automaticmode/active_workflow
Polyglot workflows without leaving the comfort of your technology stack. - automaticmode/active_workflow
- 60CMS for Rails. For Reals.
https://github.com/wearefine/fae
CMS for Rails. For Reals. Contribute to wearefine/fae development by creating an account on GitHub.
- 61ComfortableMexicanSofa is a powerful Ruby on Rails 5.2+ CMS (Content Management System) Engine
https://github.com/comfy/comfortable-mexican-sofa
ComfortableMexicanSofa is a powerful Ruby on Rails 5.2+ CMS (Content Management System) Engine - comfy/comfortable-mexican-sofa
- 62Ruby's Most Advanced Authentication Framework
https://github.com/jeremyevans/rodauth
Ruby's Most Advanced Authentication Framework. Contribute to jeremyevans/rodauth development by creating an account on GitHub.
- 63Rails 4/5 task to dump your data to db/seeds.rb
https://github.com/rroblak/seed_dump
Rails 4/5 task to dump your data to db/seeds.rb. Contribute to rroblak/seed_dump development by creating an account on GitHub.
- 64First-party, privacy-focused traffic analytics for Ruby on Rails applications.
https://github.com/BaseSecrete/active_analytics
First-party, privacy-focused traffic analytics for Ruby on Rails applications. - BaseSecrete/active_analytics
- 65The complete solution for Ruby command-line executables
https://github.com/commander-rb/commander
The complete solution for Ruby command-line executables - commander-rb/commander
- 66Google Analytics Reporting API Client for Ruby
https://github.com/tpitale/legato
Google Analytics Reporting API Client for Ruby. Contribute to tpitale/legato development by creating an account on GitHub.
- 67IdentityCache is a blob level caching solution to plug into Active Record. Don't #find, #fetch!
https://github.com/Shopify/identity_cache
IdentityCache is a blob level caching solution to plug into Active Record. Don't #find, #fetch! - Shopify/identity_cache
- 68Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding.
https://github.com/trilogy-libraries/trilogy
Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. - trilogy-libraries/trilogy
- 69🚫 Stop saying "you forgot to …" in code review (in Ruby)
https://github.com/danger/danger
🚫 Stop saying "you forgot to …" in code review (in Ruby) - danger/danger
- 70Synchronises Assets between Rails and S3
https://github.com/AssetSync/asset_sync
Synchronises Assets between Rails and S3. Contribute to AssetSync/asset_sync development by creating an account on GitHub.
- 71Simple, powerful, first-party analytics for Rails
https://github.com/ankane/ahoy
Simple, powerful, first-party analytics for Rails. Contribute to ankane/ahoy development by creating an account on GitHub.
- 72Use Webpack to manage app-like JavaScript modules in Rails
https://github.com/shakacode/shakapacker
Use Webpack to manage app-like JavaScript modules in Rails - shakacode/shakapacker
- 73Rack-based asset packaging system
https://github.com/rails/sprockets
Rack-based asset packaging system. Contribute to rails/sprockets development by creating an account on GitHub.
- 74Tracking made easy: Don’t fool around with adding tracking and analytics partials to your app and concentrate on the things that matter.
https://github.com/railslove/rack-tracker
Tracking made easy: Don’t fool around with adding tracking and analytics partials to your app and concentrate on the things that matter. - railslove/rack-tracker
- 75The Ruby cloud services library.
https://github.com/fog/fog
The Ruby cloud services library. Contribute to fog/fog development by creating an account on GitHub.
- 76Ruby/ProgressBar is a text progress bar library for Ruby.
https://github.com/jfelchner/ruby-progressbar
Ruby/ProgressBar is a text progress bar library for Ruby. - jfelchner/ruby-progressbar
- 77Interactor provides a common interface for performing complex user interactions.
https://github.com/collectiveidea/interactor
Interactor provides a common interface for performing complex user interactions. - collectiveidea/interactor
- 78A resource-focused Rails library for developing JSON:API compliant servers.
https://github.com/cerebris/jsonapi-resources
A resource-focused Rails library for developing JSON:API compliant servers. - cerebris/jsonapi-resources
- 79Flexible authentication solution for Rails with Warden.
https://github.com/heartcombo/devise
Flexible authentication solution for Rails with Warden. - heartcombo/devise
- 80A fast JSON:API serializer for Ruby (fork of Netflix/fast_jsonapi)
https://github.com/jsonapi-serializer/jsonapi-serializer
A fast JSON:API serializer for Ruby (fork of Netflix/fast_jsonapi) - jsonapi-serializer/jsonapi-serializer
- 81Build JSON API-compliant APIs on Rails with no (or less) learning curve.
https://github.com/tiagopog/jsonapi-utils
Build JSON API-compliant APIs on Rails with no (or less) learning curve. - tiagopog/jsonapi-utils
- 82A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. :tada:
https://github.com/athityakumar/colorls
A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. :tada: - athityakumar/colorls
- 83Scope-based authorization for Ruby on Rails.
https://github.com/makandra/consul
Scope-based authorization for Ruby on Rails. Contribute to makandra/consul development by creating an account on GitHub.
- 84Truemail - configurable framework agnostic plain Ruby email validator. Verify email via Regex, DNS and SMTP
https://truemail-rb.org/truemail-gem
Configurable framework agnostic plain Ruby email validator. Truemail documentation. Verify email via Regex, DNS and SMTP
- 85A Lightweight Sass Tool Set
https://github.com/thoughtbot/bourbon
A Lightweight Sass Tool Set. Contribute to thoughtbot/bourbon development by creating an account on GitHub.
- 86a class factory and dsl for generating command line programs real quick
https://github.com/ahoward/main
a class factory and dsl for generating command line programs real quick - ahoward/main
- 87Ruby gem for ANSI terminal colors 🎨︎ VERY FAST
https://github.com/janlelis/paint
Ruby gem for ANSI terminal colors 🎨︎ VERY FAST. Contribute to janlelis/paint development by creating an account on GitHub.
- 88Create encapsulated systems of objects and focus on their interactions
https://github.com/saturnflyer/surrounded
Create encapsulated systems of objects and focus on their interactions - saturnflyer/surrounded
- 89Rails authentication with email & password.
https://github.com/thoughtbot/clearance
Rails authentication with email & password. Contribute to thoughtbot/clearance development by creating an account on GitHub.
- 90Run shell commands safely, even with user-supplied values
https://github.com/thoughtbot/terrapin
Run shell commands safely, even with user-supplied values - thoughtbot/terrapin
- 91A PostgreSQL client library for Ruby
https://github.com/ged/ruby-pg
A PostgreSQL client library for Ruby. Contribute to ged/ruby-pg development by creating an account on GitHub.
- 92The wise choice for Ruby memoization
https://github.com/panorama-ed/memo_wise
The wise choice for Ruby memoization. Contribute to panorama-ed/memo_wise development by creating an account on GitHub.
- 93A gem. For Emoji. For everyone. ❤
https://github.com/wpeterson/emoji
A gem. For Emoji. For everyone. ❤. Contribute to wpeterson/emoji development by creating an account on GitHub.
- 94Vagrant by HashiCorp
http://www.vagrantup.com
Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.
- 95🍯 Unobtrusive and flexible spam protection for Rails apps
https://github.com/markets/invisible_captcha
🍯 Unobtrusive and flexible spam protection for Rails apps - markets/invisible_captcha
- 96Magical Authentication
https://github.com/Sorcery/sorcery
Magical Authentication. Contribute to Sorcery/sorcery development by creating an account on GitHub.
- 97makes creating API responses in Rails easy and fun
https://github.com/fabrik42/acts_as_api
makes creating API responses in Rails easy and fun - fabrik42/acts_as_api
- 98JWT authentication solution for Rails APIs
https://github.com/Gokul595/api_guard
JWT authentication solution for Rails APIs. Contribute to Gokul595/api_guard development by creating an account on GitHub.
- 99Voight-Kampff is a Ruby gem that detects bots, spiders, crawlers and replicants
https://github.com/biola/Voight-Kampff
Voight-Kampff is a Ruby gem that detects bots, spiders, crawlers and replicants - biola/Voight-Kampff
- 100:briefcase: Manage application specific business logic.
https://github.com/AaronLasseigne/active_interaction
:briefcase: Manage application specific business logic. - AaronLasseigne/active_interaction
- 101Make awesome command-line applications the easy way
https://github.com/davetron5000/gli
Make awesome command-line applications the easy way - davetron5000/gli
- 102Interact with REST services in an ActiveRecord-like manner
https://github.com/balvig/spyke
Interact with REST services in an ActiveRecord-like manner - balvig/spyke
- 103A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation.
https://github.com/weppos/breadcrumbs_on_rails
A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation. - weppos/breadcrumbs_on_rails
- 104Simple Lightweight Option Parsing - ✨ new contributors welcome ✨
https://github.com/leejarvis/slop
Simple Lightweight Option Parsing - ✨ new contributors welcome ✨ - leejarvis/slop
- 105lita.io - Domain Name For Sale | Dan.com
https://www.lita.io/
I found a great domain name for sale on Dan.com. Check it out!
- 106Avo
https://avohq.io/ruby-on-rails-content-management-system
Ruby on Rails Admin Panel Framework
- 107ReCaptcha helpers for ruby apps
https://github.com/ambethia/recaptcha
ReCaptcha helpers for ruby apps. Contribute to ambethia/recaptcha development by creating an account on GitHub.
- 108Cache Active Model Records in Rails 3
https://github.com/orslumen/record-cache
Cache Active Model Records in Rails 3. Contribute to orslumen/record-cache development by creating an account on GitHub.
- 109Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
https://github.com/seattlerb/flog
Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in. - seattlerb/flog
- 110OS / rodauth-oauth · GitLab
https://gitlab.com/honeyryderchuck/rodauth-oauth
rodauth OAuth and OpenID provider plugin
- 111Low-code Admin panel and Business intelligence Rails engine. No DSL - configurable from the UI. Rails Admin, Active Admin, Blazer modern alternative.
https://github.com/motor-admin/motor-admin-rails
Low-code Admin panel and Business intelligence Rails engine. No DSL - configurable from the UI. Rails Admin, Active Admin, Blazer modern alternative. - motor-admin/motor-admin-rails
- 112A plugin for versioning Rails based RESTful APIs.
https://github.com/bploetz/versionist
A plugin for versioning Rails based RESTful APIs. Contribute to bploetz/versionist development by creating an account on GitHub.
- 113🏥 A Ruby gem that helps you refactor your legacy code
https://github.com/testdouble/suture
🏥 A Ruby gem that helps you refactor your legacy code - testdouble/suture
- 114Flexible Ruby on Rails breadcrumbs plugin.
https://github.com/lassebunk/gretel
Flexible Ruby on Rails breadcrumbs plugin. Contribute to lassebunk/gretel development by creating an account on GitHub.
- 115Series of Actions with an emphasis on simplicity.
https://github.com/adomokos/light-service
Series of Actions with an emphasis on simplicity. Contribute to adomokos/light-service development by creating an account on GitHub.
- 116Kashmir is a Ruby DSL that makes serializing and caching objects a snap.
https://github.com/IFTTT/kashmir
Kashmir is a Ruby DSL that makes serializing and caching objects a snap. - IFTTT/kashmir
- 117General ruby templating with json, bson, xml, plist and msgpack support
https://github.com/nesquena/rabl
General ruby templating with json, bson, xml, plist and msgpack support - nesquena/rabl
- 118A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
https://github.com/jwt/ruby-jwt
A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard. - jwt/ruby-jwt
- 119The best data slicer! Watch a 3 minute screencast at http://tableprintgem.com
https://github.com/arches/table_print
The best data slicer! Watch a 3 minute screencast at http://tableprintgem.com - arches/table_print
- 120Write Through and Read Through caching library inspired by CacheMoney and cache_fu, support ActiveRecord 4, 5 and 6.
https://github.com/hooopo/second_level_cache
Write Through and Read Through caching library inspired by CacheMoney and cache_fu, support ActiveRecord 4, 5 and 6. - hooopo/second_level_cache
- 121A self hosted Web publishing platform on Rails.
https://github.com/publify/publify
A self hosted Web publishing platform on Rails. Contribute to publify/publify development by creating an account on GitHub.
- 122Storytime is a Rails 4+ CMS and blogging engine, with a core focus on content. It is built and maintained by @cultivatelabs
https://github.com/CultivateLabs/storytime
Storytime is a Rails 4+ CMS and blogging engine, with a core focus on content. It is built and maintained by @cultivatelabs - CultivateLabs/storytime
- 123rails/activesupport at main · rails/rails
https://github.com/rails/rails/tree/master/activesupport
Ruby on Rails. Contribute to rails/rails development by creating an account on GitHub.
- 124Rails Plugin that tracks impressions and page views
https://github.com/charlotte-ruby/impressionist
Rails Plugin that tracks impressions and page views - charlotte-ruby/impressionist
- 125Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored.
https://github.com/seattlerb/flay
Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. - seattlerb/flay
- 126Optimist is a commandline option parser for Ruby that just gets out of your way.
https://github.com/ManageIQ/optimist
Optimist is a commandline option parser for Ruby that just gets out of your way. - ManageIQ/optimist
- 127Ruby ASCII Table Generator, simple and feature rich.
https://github.com/tj/terminal-table
Ruby ASCII Table Generator, simple and feature rich. - tj/terminal-table
- 128Colorful Terminal Spinner for Ruby 😀︎
https://github.com/janlelis/whirly
Colorful Terminal Spinner for Ruby 😀︎. Contribute to janlelis/whirly development by creating an account on GitHub.
- 129A fist full of code metrics
https://github.com/metricfu/metric_fu
A fist full of code metrics. Contribute to metricfu/metric_fu development by creating an account on GitHub.
- 130A static analysis security vulnerability scanner for Ruby on Rails applications
https://github.com/presidentbeef/brakeman
A static analysis security vulnerability scanner for Ruby on Rails applications - presidentbeef/brakeman
- 131A Ruby code quality reporter
https://github.com/whitesmith/rubycritic
A Ruby code quality reporter. Contribute to whitesmith/rubycritic development by creating an account on GitHub.
- 132High performance memcached client for Ruby
https://github.com/mperham/dalli
High performance memcached client for Ruby. Contribute to petergoldstein/dalli development by creating an account on GitHub.
- 133Tiny DSL for idiomatic date parsing and formatting in Ruby
https://github.com/sshaw/yymmdd
Tiny DSL for idiomatic date parsing and formatting in Ruby - sshaw/yymmdd
- 134A Rails engine to provide the ability to add documentation to a Rails application
https://github.com/adamcooke/documentation
A Rails engine to provide the ability to add documentation to a Rails application - adamcooke/documentation
- 135A capistrano/rails plugin that makes it easy to deploy/manage/scale to various service providers, including EC2, DigitalOcean, vSphere, and bare metal servers.
https://github.com/rubber/rubber
A capistrano/rails plugin that makes it easy to deploy/manage/scale to various service providers, including EC2, DigitalOcean, vSphere, and bare metal servers. - rubber/rubber
- 136Code smell detector for Ruby
https://github.com/troessner/reek
Code smell detector for Ruby. Contribute to troessner/reek development by creating an account on GitHub.
- 137pippi
https://github.com/tcopeland/pippi
pippi. Contribute to tcopeland/pippi development by creating an account on GitHub.
- 138Returns the difference between two JSON files.
https://github.com/a2design-inc/json-compare
Returns the difference between two JSON files. Contribute to a2design-inc/json-compare development by creating an account on GitHub.
- 139Configuration management tool inspired by Chef, but simpler and lightweight. Formerly known as Lightchef.
https://github.com/itamae-kitchen/itamae
Configuration management tool inspired by Chef, but simpler and lightweight. Formerly known as Lightchef. - itamae-kitchen/itamae
- 140The simple tool to make work with date ranges in Ruby more enjoyable.
https://github.com/darkleaf/date_range_formatter
The simple tool to make work with date ranges in Ruby more enjoyable. - darkleaf/date_range_formatter
- 141Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.
https://github.com/cloudfoundry/bosh
Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services. - cloudfoundry/bosh
- 142Manage complex tmux sessions easily
https://github.com/tmuxinator/tmuxinator
Manage complex tmux sessions easily. Contribute to tmuxinator/tmuxinator development by creating an account on GitHub.
- 143RDoc produces HTML and online documentation for Ruby projects.
https://github.com/ruby/rdoc
RDoc produces HTML and online documentation for Ruby projects. - ruby/rdoc
- 144Ruby client library for the Square Connect APIs
https://github.com/square/connect-ruby-sdk
Ruby client library for the Square Connect APIs. Contribute to square/connect-ruby-sdk development by creating an account on GitHub.
- 145☠️ A development tool that reveals your UI's bones
https://github.com/brentd/xray-rails
☠️ A development tool that reveals your UI's bones - brentd/xray-rails
- 146Displays the results of every line of code in your file
https://github.com/JoshCheek/seeing_is_believing
Displays the results of every line of code in your file - JoshCheek/seeing_is_believing
- 147Deploy web apps anywhere.
https://github.com/basecamp/kamal
Deploy web apps anywhere. Contribute to basecamp/kamal development by creating an account on GitHub.
- 148ruby bindings for liblxc
https://github.com/lxc/ruby-lxc
ruby bindings for liblxc. Contribute to lxc/ruby-lxc development by creating an account on GitHub.
- 149:cake: Version Cake is an unobtrusive way to version APIs in your Rails or Rack apps
https://github.com/bwillis/versioncake
:cake: Version Cake is an unobtrusive way to version APIs in your Rails or Rack apps - bwillis/versioncake
- 150Generic connection pooling for Ruby
https://github.com/mperham/connection_pool
Generic connection pooling for Ruby. Contribute to mperham/connection_pool development by creating an account on GitHub.
- 151A Ruby way to read MOBI format metadata
https://github.com/jkongie/mobi
A Ruby way to read MOBI format metadata. Contribute to jkongie/mobi development by creating an account on GitHub.
- 152CSS styled emails without the hassle.
https://github.com/fphilipe/premailer-rails
CSS styled emails without the hassle. Contribute to fphilipe/premailer-rails development by creating an account on GitHub.
- 153Easy full stack backup operations on UNIX-like systems.
https://github.com/backup/backup
Easy full stack backup operations on UNIX-like systems. - backup/backup
- 154💎 Ruby wrapper for Pygments syntax highlighter
https://github.com/tmm1/pygments.rb
💎 Ruby wrapper for Pygments syntax highlighter. Contribute to pygments/pygments.rb development by creating an account on GitHub.
- 155📮 A fully featured open source mail delivery platform for incoming & outgoing e-mail
https://github.com/atech/postal
📮 A fully featured open source mail delivery platform for incoming & outgoing e-mail - postalserver/postal
- 156RSpec Best Practices
https://github.com/andreareginato/betterspecs
RSpec Best Practices. Contribute to betterspecs/betterspecs development by creating an account on GitHub.
- 157Preview mail in the browser instead of sending.
https://github.com/ryanb/letter_opener
Preview mail in the browser instead of sending. Contribute to ryanb/letter_opener development by creating an account on GitHub.
- 158Advanced seed data handling for Rails, combining the best practices of several methods together.
https://github.com/mbleigh/seed-fu
Advanced seed data handling for Rails, combining the best practices of several methods together. - mbleigh/seed-fu
- 159Chronic is a pure Ruby natural language date parser.
https://github.com/mojombo/chronic
Chronic is a pure Ruby natural language date parser. - mojombo/chronic
- 160a code metric tool for rails projects
https://github.com/railsbp/rails_best_practices
a code metric tool for rails projects. Contribute to flyerhzm/rails_best_practices development by creating an account on GitHub.
- 161Date and time validation plugin for ActiveModel and Rails. Supports multiple ORMs and allows custom date/time formats.
https://github.com/adzap/validates_timeliness
Date and time validation plugin for ActiveModel and Rails. Supports multiple ORMs and allows custom date/time formats. - adzap/validates_timeliness
- 162Rails engine for cache-friendly, client-side local time
https://github.com/basecamp/local_time
Rails engine for cache-friendly, client-side local time - basecamp/local_time
- 163Lightweight Redis Client
https://github.com/amakawa/redic
Lightweight Redis Client. Contribute to amakawa/redic development by creating an account on GitHub.
- 164Online MySQL schema migrations
https://github.com/soundcloud/lhm
Online MySQL schema migrations. Contribute to soundcloud/lhm development by creating an account on GitHub.
- 165SchemaPlus provides a collection of enhancements and extensions to ActiveRecord
https://github.com/SchemaPlus/schema_plus
SchemaPlus provides a collection of enhancements and extensions to ActiveRecord - SchemaPlus/schema_plus
- 166Gem which calculates the difference between two times
https://github.com/abhidsm/time_diff
Gem which calculates the difference between two times - abhidsm/time_diff
- 167Find source repositories for ruby gems. Open, compare, and update outdated gem versions
https://github.com/teeparham/gemdiff
Find source repositories for ruby gems. Open, compare, and update outdated gem versions - teeparham/gemdiff
- 168a generic EPUB library for Ruby : supports EPUB 3
https://github.com/skoji/gepub
a generic EPUB library for Ruby : supports EPUB 3 - GitHub - skoji/gepub: a generic EPUB library for Ruby : supports EPUB 3
- 169Ruby library to perform server-side tracking into the official Google Analytics Measurement Protocol
https://github.com/tpitale/staccato
Ruby library to perform server-side tracking into the official Google Analytics Measurement Protocol - tpitale/staccato
- 170The express way to send mail from Ruby.
https://github.com/benprew/pony
The express way to send mail from Ruby. Contribute to benprew/pony development by creating an account on GitHub.
- 171Accurate current and historical timezones for Ruby with support for Geonames and Google latitude - longitude lookups.
https://github.com/panthomakos/timezone
Accurate current and historical timezones for Ruby with support for Geonames and Google latitude - longitude lookups. - panthomakos/timezone
- 172Debugging in Ruby 2
https://github.com/deivid-rodriguez/byebug
Debugging in Ruby 2. Contribute to deivid-rodriguez/byebug development by creating an account on GitHub.
- 173Seedbank gives your seed data a little structure. Create seeds for each environment, share seeds between environments and specify dependencies to load your seeds in order. All nicely integrated with simple rake tasks.
https://github.com/james2m/seedbank
Seedbank gives your seed data a little structure. Create seeds for each environment, share seeds between environments and specify dependencies to load your seeds in order. All nicely integrated wit...
- 174Incoming! helps you receive email in your Rack apps.
https://github.com/honeybadger-io/incoming
Incoming! helps you receive email in your Rack apps. - honeybadger-io/incoming
- 175Ruby production code coverage collection and reporting (line of code usage)
https://github.com/danmayer/coverband
Ruby production code coverage collection and reporting (line of code usage) - danmayer/coverband
- 176Seamless second database integration for Rails.
https://github.com/customink/secondbase
Seamless second database integration for Rails. Contribute to customink/secondbase development by creating an account on GitHub.
- 177A curses threads-with-tags style email client (mailing list: [email protected])
https://github.com/sup-heliotrope/sup
A curses threads-with-tags style email client (mailing list: [email protected]) - sup-heliotrope/sup
- 178Step-by-step debugging and stack navigation in Pry
https://github.com/deivid-rodriguez/pry-byebug
Step-by-step debugging and stack navigation in Pry - deivid-rodriguez/pry-byebug
- 179The gem that has been saving people from typos since 2014
https://github.com/yuki24/did_you_mean
The gem that has been saving people from typos since 2014 - ruby/did_you_mean
- 180Ruby bindings for the SQLite3 embedded database
https://github.com/sparklemotion/sqlite3-ruby
Ruby bindings for the SQLite3 embedded database. Contribute to sparklemotion/sqlite3-ruby development by creating an account on GitHub.
- 181The simplest way to group temporal data
https://github.com/ankane/groupdate
The simplest way to group temporal data. Contribute to ankane/groupdate development by creating an account on GitHub.
- 182Oath is rails authentication made simple. Previously known as Monban
https://github.com/halogenandtoast/monban
Oath is rails authentication made simple. Previously known as Monban - halogenandtoast/oath
- 183A set of Rails responders to dry up your application
https://github.com/heartcombo/responders
A set of Rails responders to dry up your application - heartcombo/responders
- 184⏰ A modern ruby gem allowing to do time calculation with business / working hours.
https://github.com/intrepidd/working_hours
⏰ A modern ruby gem allowing to do time calculation with business / working hours. - Intrepidd/working_hours
- 185Send e-mail straight from forms in Rails with I18n, validations, attachments and request information.
https://github.com/heartcombo/mail_form
Send e-mail straight from forms in Rails with I18n, validations, attachments and request information. - heartcombo/mail_form
- 186Wrap your objects with a helper to easily show them
https://github.com/heartcombo/show_for
Wrap your objects with a helper to easily show them - heartcombo/show_for
- 187Chef Infra, a powerful automation platform that transforms infrastructure into code automating how infrastructure is configured, deployed and managed across any environment, at any scale
https://github.com/chef/chef
Chef Infra, a powerful automation platform that transforms infrastructure into code automating how infrastructure is configured, deployed and managed across any environment, at any scale - chef/chef
- 188Flexible configuration for Ruby applications
https://github.com/elabs/econfig
Flexible configuration for Ruby applications. Contribute to varvet/econfig development by creating an account on GitHub.
- 189Create agents that monitor and act on your behalf. Your agents are standing by!
https://github.com/cantino/huginn
Create agents that monitor and act on your behalf. Your agents are standing by! - huginn/huginn
- 190Kanrisuru helps you manage your remote servers with objected oriented ruby. Results come back as structured data, parsed, prepared and ready for you to easily use in your applications.
https://github.com/avamia/kanrisuru
Kanrisuru helps you manage your remote servers with objected oriented ruby. Results come back as structured data, parsed, prepared and ready for you to easily use in your applications. - avamia/kan...
- 191:credit_card: ruby gem for validating credit card numbers, generating valid numbers, luhn checks
https://github.com/didww/credit_card_validations
:credit_card: ruby gem for validating credit card numbers, generating valid numbers, luhn checks - didww/credit_card_validations
- 192Workarea is an enterprise-grade Ruby on Rails commerce platform
https://github.com/workarea-commerce/workarea
Workarea is an enterprise-grade Ruby on Rails commerce platform - workarea-commerce/workarea
- 193Versioned database views for Rails
https://github.com/thoughtbot/scenic
Versioned database views for Rails. Contribute to scenic-views/scenic development by creating an account on GitHub.
- 194Einhorn: the language-independent shared socket manager
https://github.com/stripe/einhorn
Einhorn: the language-independent shared socket manager - GitHub - contribsys/einhorn: Einhorn: the language-independent shared socket manager
- 195BookPub is an advanced book publishing framework for creating manuscripts in Markdown, HTML, CSS, Javascript, and publishing them into any format (PDF, ePub, MOBI, HTML, Print).
https://github.com/worlduniting/bookshop
BookPub is an advanced book publishing framework for creating manuscripts in Markdown, HTML, CSS, Javascript, and publishing them into any format (PDF, ePub, MOBI, HTML, Print). - worlduniting/bookpub
- 196Simplify receiving email in Rails (deprecated)
https://github.com/thoughtbot/griddler
Simplify receiving email in Rails (deprecated). Contribute to thoughtbot/griddler development by creating an account on GitHub.
- 197SSH private and public key generator in pure Ruby (RSA & DSA)
https://github.com/bensie/sshkey
SSH private and public key generator in pure Ruby (RSA & DSA) - bensie/sshkey
- 198The official AWS SDK for Ruby.
https://github.com/aws/aws-sdk-ruby
The official AWS SDK for Ruby. Contribute to aws/aws-sdk-ruby development by creating an account on GitHub.
- 199Quick automated code review of your changes
https://github.com/mmozuras/pronto
Quick automated code review of your changes. Contribute to prontolabs/pronto development by creating an account on GitHub.
- 200Terminal output styling with intuitive and clean API.
https://github.com/peter-murach/pastel
Terminal output styling with intuitive and clean API. - piotrmurach/pastel
- 201Active Merchant is a simple payment abstraction library extracted from Shopify. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways.
https://github.com/activemerchant/active_merchant
Active Merchant is a simple payment abstraction library extracted from Shopify. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user ...
- 202A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday!
https://github.com/holidays/holidays
A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday! - holidays/holidays
- 203Support for doing time math in business hours and days
https://github.com/bokmann/business_time
Support for doing time math in business hours and days - bokmann/business_time
- 204:microscope: A Ruby library for carefully refactoring critical paths.
https://github.com/github/scientist
:microscope: A Ruby library for carefully refactoring critical paths. - github/scientist
- 205TZInfo - Ruby Timezone Library
https://github.com/tzinfo/tzinfo
TZInfo - Ruby Timezone Library. Contribute to tzinfo/tzinfo development by creating an account on GitHub.
- 206A Ruby client library for Redis
https://github.com/redis/redis-rb
A Ruby client library for Redis. Contribute to redis/redis-rb development by creating an account on GitHub.
- 207Annotate Rails classes with schema and routes info
https://github.com/ctran/annotate_models
Annotate Rails classes with schema and routes info - ctran/annotate_models
- 208Server automation framework and application
https://github.com/puppetlabs/puppet
Server automation framework and application. Contribute to puppetlabs/puppet development by creating an account on GitHub.
- 209A documentation analysis tool for the Ruby language
https://github.com/rrrene/inch
A documentation analysis tool for the Ruby language - rrrene/inch
- 210Re:VIEW is flexible document format/conversion system
https://github.com/kmuto/review
Re:VIEW is flexible document format/conversion system - kmuto/review
- 211Ruby on Rails Ecommerce platform, perfect for your small business solution.
https://github.com/drhenner/ror_ecommerce
Ruby on Rails Ecommerce platform, perfect for your small business solution. - drhenner/ror_ecommerce
- 212A helper for creating declarative interfaces in controllers
https://github.com/hashrocket/decent_exposure
A helper for creating declarative interfaces in controllers - hashrocket/decent_exposure
- 213A markdown based documentation system for style guides.
https://github.com/trulia/hologram
A markdown based documentation system for style guides. - trulia/hologram
- 214CloudFormation made easy
https://github.com/kddeisz/humidifier
CloudFormation made easy. Contribute to kddnewton/humidifier development by creating an account on GitHub.
- 215Parse and render REST API documents using representers.
https://github.com/apotonick/roar
Parse and render REST API documents using representers. - trailblazer/roar
- 216A performance dashboard for Postgres
https://github.com/ankane/pghero
A performance dashboard for Postgres. Contribute to ankane/pghero development by creating an account on GitHub.
- 217🛒 Solidus, the open-source eCommerce framework for industry trailblazers.
https://github.com/solidusio/solidus
🛒 Solidus, the open-source eCommerce framework for industry trailblazers. - solidusio/solidus
- 218Time calculations using business hours.
https://github.com/zendesk/biz
Time calculations using business hours. Contribute to zendesk/biz development by creating an account on GitHub.
- 219Rails engine providing access to files in cloud storage
https://github.com/projecthydra/browse-everything
Rails engine providing access to files in cloud storage - samvera/browse-everything
- 220Ruby's bikeshed-proof linter and formatter 🚲
https://github.com/testdouble/standard
Ruby's bikeshed-proof linter and formatter 🚲. Contribute to standardrb/standard development by creating an account on GitHub.
- 221Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
https://github.com/github-changelog-generator/github-changelog-generator
Automatically generate change log from your tags, issues, labels and pull requests on GitHub. - github-changelog-generator/github-changelog-generator
- 222Ruby Date Recurrence Library - Allows easy creation of recurrence rules and fast querying
https://github.com/seejohnrun/ice_cube
Ruby Date Recurrence Library - Allows easy creation of recurrence rules and fast querying - ice-cube-ruby/ice_cube
- 223ObjectTracer tracks objects and records their activities
https://github.com/st0012/tapping_device
ObjectTracer tracks objects and records their activities - st0012/object_tracer
- 224Logstash - transport and process your logs, events, or other data
https://github.com/elastic/logstash
Logstash - transport and process your logs, events, or other data - elastic/logstash
- 225Ruby library for the Stripe API.
https://github.com/stripe/stripe-ruby
Ruby library for the Stripe API. . Contribute to stripe/stripe-ruby development by creating an account on GitHub.
- 226Ruby Bindings for Conekta
https://github.com/conekta/conekta-ruby
Ruby Bindings for Conekta. Contribute to conekta/conekta-ruby development by creating an account on GitHub.
- 227A mass deployment tool for Docker fleets
https://github.com/newrelic/centurion
A mass deployment tool for Docker fleets. Contribute to newrelic/centurion development by creating an account on GitHub.
- 228SQL Server Adapter For Rails
https://github.com/rails-sqlserver/activerecord-sqlserver-adapter
SQL Server Adapter For Rails. Contribute to rails-sqlserver/activerecord-sqlserver-adapter development by creating an account on GitHub.
- 229Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE.
https://github.com/seamusabshere/upsert
Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE. - seamusabshere/upsert
- 230Gibbon is an API wrapper for MailChimp's API
https://github.com/amro/gibbon
Gibbon is an API wrapper for MailChimp's API. Contribute to amro/gibbon development by creating an account on GitHub.
- 231Plain text table generator for Ruby, with a DRY, column-based API
https://github.com/matt-harvey/tabulo
Plain text table generator for Ruby, with a DRY, column-based API - matt-harvey/tabulo
- 232A framework for gradual system automation
https://github.com/braintree/runbook
A framework for gradual system automation. Contribute to braintree/runbook development by creating an account on GitHub.
- 233Toolkit for developing sleek command line apps.
https://github.com/peter-murach/tty
Toolkit for developing sleek command line apps. Contribute to piotrmurach/tty development by creating an account on GitHub.
- 234Lets you find ActiveRecord + Mongoid objects by year, month, fortnight, week and more!
https://github.com/radar/by_star
Lets you find ActiveRecord + Mongoid objects by year, month, fortnight, week and more! - radar/by_star
- 235Database constraints made easy for ActiveRecord.
https://github.com/nullobject/rein
Database constraints made easy for ActiveRecord. Contribute to nullobject/rein development by creating an account on GitHub.
- 236Minimal authorization through OO design and pure Ruby classes
https://github.com/elabs/pundit
Minimal authorization through OO design and pure Ruby classes - varvet/pundit
- 237TinyTDS - Simple and fast FreeTDS bindings for Ruby using DB-Library.
https://github.com/rails-sqlserver/tiny_tds
TinyTDS - Simple and fast FreeTDS bindings for Ruby using DB-Library. - rails-sqlserver/tiny_tds
- 238Decorators/View-Models for Rails Applications
https://github.com/drapergem/draper
Decorators/View-Models for Rails Applications. Contribute to drapergem/draper development by creating an account on GitHub.
- 239Making HTML emails comfortable for the Ruby rockstars
https://github.com/Mange/roadie
Making HTML emails comfortable for the Ruby rockstars - Mange/roadie
- 240Rails Database Viewer and SQL Query Runner
https://github.com/igorkasyanchuk/rails_db
Rails Database Viewer and SQL Query Runner. Contribute to igorkasyanchuk/rails_db development by creating an account on GitHub.
- 241Recurring events library for Ruby. Enumerable recurrence objects and convenient chainable interface.
https://github.com/rossta/montrose
Recurring events library for Ruby. Enumerable recurrence objects and convenient chainable interface. - rossta/montrose
- 242A Really Ruby Mail Library
https://github.com/mikel/mail
A Really Ruby Mail Library. Contribute to mikel/mail development by creating an account on GitHub.
- 243Rapid scaffold builder for Turbo-Rails and Hotwire. Get the tutorial now at:
https://github.com/hot-glue-for-rails/hot-glue/
Rapid scaffold builder for Turbo-Rails and Hotwire. Get the tutorial now at: - hot-glue-for-rails/hot-glue
- 244dry-rb
https://github.com/dry-rb
dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task - dry-rb
- 245Polo travels through your database and creates sample snapshots so you can work with real world data in development.
https://github.com/IFTTT/polo
Polo travels through your database and creates sample snapshots so you can work with real world data in development. - IFTTT/polo
- 246Ruby and Ruby on Rails bookmarks collection
https://github.com/dreikanter/ruby-bookmarks
Ruby and Ruby on Rails bookmarks collection. Contribute to dreikanter/ruby-bookmarks development by creating an account on GitHub.
- 247Simple, Fast, and Declarative Serialization Library for Ruby
https://github.com/procore/blueprinter
Simple, Fast, and Declarative Serialization Library for Ruby - procore-oss/blueprinter
- 248Configus helps you easily manage environment specific settings
https://github.com/kaize/configus
Configus helps you easily manage environment specific settings - kaize/configus
- 249Catch unsafe migrations in development
https://github.com/ankane/strong_migrations
Catch unsafe migrations in development. Contribute to ankane/strong_migrations development by creating an account on GitHub.
- 250Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites
https://github.com/colszowka/simplecov
Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites - simplecov-ruby/simplecov
- 251Her is an ORM (Object Relational Mapper) that maps REST resources to Ruby objects. It is designed to build applications that are powered by a RESTful API instead of a database.
https://github.com/remiprev/her
Her is an ORM (Object Relational Mapper) that maps REST resources to Ruby objects. It is designed to build applications that are powered by a RESTful API instead of a database. - remi/her
- 252Convert country names and codes to a standard.
https://github.com/sshaw/normalize_country
Convert country names and codes to a standard. Contribute to sshaw/normalize_country development by creating an account on GitHub.
- 253General Rack Authentication Framework
https://github.com/hassox/warden
General Rack Authentication Framework. Contribute to wardencommunity/warden development by creating an account on GitHub.
- 254A Ruby wrapper for the OAuth 2.0 protocol.
https://github.com/intridea/oauth2
A Ruby wrapper for the OAuth 2.0 protocol. Contribute to oauth-xx/oauth2 development by creating an account on GitHub.
- 255Ruby support for Neovim
https://github.com/alexgenco/neovim-ruby
Ruby support for Neovim. Contribute to neovim/neovim-ruby development by creating an account on GitHub.
- 256RDoc generator designed with simplicity, beauty and ease of browsing in mind
https://github.com/rdoc/hanna-nouveau
RDoc generator designed with simplicity, beauty and ease of browsing in mind - jeremyevans/hanna
- 257📫 Rails Engine to preview emails in the browser
https://github.com/markets/maily
📫 Rails Engine to preview emails in the browser. Contribute to markets/maily development by creating an account on GitHub.
- 258Ruby Facets
https://github.com/rubyworks/facets
Ruby Facets. Contribute to rubyworks/facets development by creating an account on GitHub.
- 259:dash: Writing Fast Ruby -- Collect Common Ruby idioms.
https://github.com/JuanitoFatas/fast-ruby
:dash: Writing Fast Ruby :heart_eyes: -- Collect Common Ruby idioms. - GitHub - fastruby/fast-ruby: :dash: Writing Fast Ruby -- Collect Common Ruby idioms.
- 260Rails >= 3 pry initializer
https://github.com/rweng/pry-rails
Rails >= 3 pry initializer. Contribute to pry/pry-rails development by creating an account on GitHub.
- 261RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data
https://github.com/sferik/rails_admin
RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data - railsadminteam/rails_admin
- 262An extension of RuboCop focused on code performance checks.
https://github.com/rubocop-hq/rubocop-performance
An extension of RuboCop focused on code performance checks. - rubocop/rubocop-performance
- 263Code style checking for RSpec files.
https://github.com/rubocop-hq/rubocop-rspec
Code style checking for RSpec files. Contribute to rubocop/rubocop-rspec development by creating an account on GitHub.
- 264A RuboCop extension focused on enforcing Rails best practices and coding conventions.
https://github.com/rubocop-hq/rubocop-rails
A RuboCop extension focused on enforcing Rails best practices and coding conventions. - rubocop/rubocop-rails
- 265A pure Ruby code highlighter that is compatible with Pygments
https://github.com/jneen/rouge
A pure Ruby code highlighter that is compatible with Pygments - rouge-ruby/rouge
- 266csvreader library / gem - read tabular data in the comma-separated values (csv) format the right way (uses best practices out-of-the-box with zero-configuration)
https://github.com/csvreader/csvreader
csvreader library / gem - read tabular data in the comma-separated values (csv) format the right way (uses best practices out-of-the-box with zero-configuration) - rubycocos/csvreader
- 267A repository of geographic regions for Ruby
https://github.com/jim/carmen
A repository of geographic regions for Ruby. Contribute to carmen-ruby/carmen development by creating an account on GitHub.
- 268Manages and displays breadcrumb trails in Rails app - lean & mean.
https://github.com/peter-murach/loaf
Manages and displays breadcrumb trails in Rails app - lean & mean. - piotrmurach/loaf
- 269Small, focused, awesome methods added to core Ruby classes. Home of the endlessly useful nil_chain.
https://github.com/forgecrafted/finishing_moves
Small, focused, awesome methods added to core Ruby classes. Home of the endlessly useful nil_chain. - BattleBrisket/finishing_moves
- 270Easiest way to add multi-environment yaml settings to Rails, Sinatra, Padrino and other Ruby projects.
https://github.com/railsconfig/config
Easiest way to add multi-environment yaml settings to Rails, Sinatra, Padrino and other Ruby projects. - rubyconfig/config
- 271blockchain (crypto) tools, libraries & scripts in ruby
https://github.com/openblockchains/blockchain.lite.rb
blockchain (crypto) tools, libraries & scripts in ruby - rubycocos/blockchain
- 272A community-driven Ruby on Rails style guide
https://github.com/bbatsov/rails-style-guide
A community-driven Ruby on Rails style guide. Contribute to rubocop/rails-style-guide development by creating an account on GitHub.
- 273A Ruby static code analyzer and formatter, based on the community Ruby style guide.
https://github.com/rubocop-hq/rubocop
A Ruby static code analyzer and formatter, based on the community Ruby style guide. - rubocop/rubocop
- 274All sorts of useful information about every country packaged as convenient little country objects. It includes data from ISO 3166 (countries and states/subdivisions ), ISO 4217 (currency), and E.164 (phone numbers).
https://github.com/hexorx/countries
All sorts of useful information about every country packaged as convenient little country objects. It includes data from ISO 3166 (countries and states/subdivisions ), ISO 4217 (currency), and E.16...
- 275Hashie is a collection of classes and mixins that make Ruby hashes more powerful.
https://github.com/intridea/hashie
Hashie is a collection of classes and mixins that make Ruby hashes more powerful. - hashie/hashie
- 276A community-driven Ruby coding style guide
https://github.com/bbatsov/ruby-style-guide
A community-driven Ruby coding style guide. Contribute to rubocop/ruby-style-guide development by creating an account on GitHub.
- 277Simple, efficient background jobs for Ruby
https://sidekiq.org
Sidekiq is a simple, efficient framework for background jobs in Ruby
- 278Overview
https://nokogiri.org
The Official Tutorial Archive™ of Nokogiri®
- 279Application Monitoring & Error Tracking for Developers
https://www.honeybadger.io/
Full-stack application monitoring and error tracking that helps small teams move fast and fix things.
- 280Installs Ruby, JRuby, TruffleRuby, or mruby
https://github.com/postmodern/ruby-install
Installs Ruby, JRuby, TruffleRuby, or mruby. Contribute to postmodern/ruby-install development by creating an account on GitHub.
- 281A Rails Engine framework that helps safe and rapid feature prototyping
https://github.com/amatsuda/motorhead
A Rails Engine framework that helps safe and rapid feature prototyping - amatsuda/motorhead
- 282IRB with Typed Completion
https://github.com/tompng/katakata_irb
IRB with Typed Completion. Contribute to tompng/katakata_irb development by creating an account on GitHub.
- 283Feature flippers.
https://github.com/FetLife/rollout
Feature flippers. Contribute to fetlife/rollout development by creating an account on GitHub.
- 284A high performance implementation of the Ruby programming language, built on GraalVM.
https://github.com/oracle/truffleruby
A high performance implementation of the Ruby programming language, built on GraalVM. - oracle/truffleruby
- 285Pure Ruby implementation of HTTP/2 protocol
https://github.com/igrigorik/http-2
Pure Ruby implementation of HTTP/2 protocol. Contribute to igrigorik/http-2 development by creating an account on GitHub.
- 286FastImage finds the size or type of an image given its uri by fetching as little as needed
https://github.com/sdsykes/fastimage
FastImage finds the size or type of an image given its uri by fetching as little as needed - sdsykes/fastimage
- 287Ruby access to the clipboard on Windows, Linux, macOS, Java, WSL and more platforms 📋︎
https://github.com/janlelis/clipboard
Ruby access to the clipboard on Windows, Linux, macOS, Java, WSL and more platforms 📋︎ - janlelis/clipboard
- 288Manage translation and localization with static analysis, for Ruby i18n
https://github.com/glebm/i18n-tasks
Manage translation and localization with static analysis, for Ruby i18n - glebm/i18n-tasks
- 289Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
https://github.com/cossacklabs/themis
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. - cossacklabs/themis
- 290Ruby GetText, but 12x faster + 530x less garbage + simple + clean namespace + threadsafe + extendable + multiple backends
https://github.com/grosser/fast_gettext
Ruby GetText, but 12x faster + 530x less garbage + simple + clean namespace + threadsafe + extendable + multiple backends - grosser/fast_gettext
- 291✂️ Peruse and delete git branches ergonomically
https://github.com/matt-harvey/git_curate
✂️ Peruse and delete git branches ergonomically. Contribute to matt-harvey/git_curate development by creating an account on GitHub.
- 292Changes the current Ruby
https://github.com/postmodern/chruby
Changes the current Ruby. Contribute to postmodern/chruby development by creating an account on GitHub.
- 293A library for converting various objects into `Money` objects.
https://github.com/RubyMoney/monetize
A library for converting various objects into `Money` objects. - RubyMoney/monetize
- 294Find the merge and pull request a commit came from + fuzzy search for cherry-picks
https://github.com/grosser/git-whence
Find the merge and pull request a commit came from + fuzzy search for cherry-picks - grosser/git-whence
- 295Ruby implementation of GraphQL
https://github.com/rmosolgo/graphql-ruby
Ruby implementation of GraphQL . Contribute to rmosolgo/graphql-ruby development by creating an account on GitHub.
- 296HTTP (The Gem! a.k.a. http.rb) - a fast Ruby HTTP client with a chainable API, streaming support, and timeouts
https://github.com/httprb/http
HTTP (The Gem! a.k.a. http.rb) - a fast Ruby HTTP client with a chainable API, streaming support, and timeouts - httprb/http
- 297Simple, but flexible HTTP client library, with support for multiple backends.
https://github.com/lostisland/faraday
Simple, but flexible HTTP client library, with support for multiple backends. - lostisland/faraday
- 298Sentry SDK for Ruby
https://github.com/getsentry/sentry-ruby
Sentry SDK for Ruby. Contribute to getsentry/sentry-ruby development by creating an account on GitHub.
- 299Releases · tokaido/tokaidoapp
https://github.com/tokaido/tokaidoapp/releases
The home of the Tokaido app. Contribute to tokaido/tokaidoapp development by creating an account on GitHub.
- 300Handle unread records and mark them as read with Ruby on Rails
https://github.com/ledermann/unread
Handle unread records and mark them as read with Ruby on Rails - ledermann/unread
- 301The Ruby gem for querying Maxmind.com's GeoIP database, which returns the geographic location of a server given its IP address
https://github.com/cjheath/geoip
The Ruby gem for querying Maxmind.com's GeoIP database, which returns the geographic location of a server given its IP address - cjheath/geoip
- 302Heavy metal SOAP client
https://github.com/savonrb/savon
Heavy metal SOAP client. Contribute to savonrb/savon development by creating an account on GitHub.
- 303git-spelunk, an interactive git history tool
https://github.com/osheroff/git-spelunk
git-spelunk, an interactive git history tool. Contribute to osheroff/git-spelunk development by creating an account on GitHub.
- 304🌐 Minimalistic I18n library for Ruby
https://github.com/markets/mini_i18n
🌐 Minimalistic I18n library for Ruby . Contribute to markets/mini_i18n development by creating an account on GitHub.
- 305A simple game engine built using raylib and mruby
https://github.com/HellRok/Taylor
A simple game engine built using raylib and mruby. Contribute to HellRok/Taylor development by creating an account on GitHub.
- 306🎨 The Ruby 2D gem
https://github.com/ruby2d/ruby2d
🎨 The Ruby 2D gem. Contribute to ruby2d/ruby2d development by creating an account on GitHub.
- 307ROXML is a module for binding Ruby classes to XML. It supports custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.
https://github.com/Empact/roxml
ROXML is a module for binding Ruby classes to XML. It supports custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML. - Empa...
- 308Tolk is a web interface for doing i18n translations packaged as an engine for Rails applications
https://github.com/tolk/tolk
Tolk is a web interface for doing i18n translations packaged as an engine for Rails applications - tolk/tolk
- 309Geospatial data library for Ruby
https://github.com/rgeo/rgeo
Geospatial data library for Ruby. Contribute to rgeo/rgeo development by creating an account on GitHub.
- 310Eventide Project
https://eventide-project.org
Microservices, Autonomous Services, Service-Oriented Architecture, and Event Sourcing Toolkit for Ruby with Support for Event Store and Postgres
- 311Ruby HTTP client based on libcurl
https://github.com/toland/patron
Ruby HTTP client based on libcurl. Contribute to toland/patron development by creating an account on GitHub.
- 312ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
https://github.com/ActsAsParanoid/acts_as_paranoid
ActiveRecord plugin allowing you to hide and restore records without actually deleting them. - ActsAsParanoid/acts_as_paranoid
- 313A simple CLI to watch file changes and run their matching Ruby specs. Works on any ruby projects with no setup.
https://github.com/alexb52/retest
A simple CLI to watch file changes and run their matching Ruby specs. Works on any ruby projects with no setup. - AlexB52/retest
- 314Guard::LiveReload automatically reload your browser when 'view' files are modified.
https://github.com/guard/guard-livereload
Guard::LiveReload automatically reload your browser when 'view' files are modified. - guard/guard-livereload
- 315Log and Analyze Outgoing HTTP Requests
https://github.com/aderyabin/sniffer
Log and Analyze Outgoing HTTP Requests. Contribute to aderyabin/sniffer development by creating an account on GitHub.
- 316A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!
https://github.com/markevans/dragonfly
A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more! - markevans/dragonfly
- 317High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick
https://github.com/janko/image_processing
High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick - janko/image_processing
- 318Yorick Peterse / oga · GitLab
https://gitlab.com/yorickpeterse/oga
Moved to https://github.com/yorickpeterse/oga
- 319Guard is a command line tool to easily handle events on file system modifications.
https://github.com/guard/guard
Guard is a command line tool to easily handle events on file system modifications. - guard/guard
- 320Ruby Optimized XML Parser
https://github.com/ohler55/ox
Ruby Optimized XML Parser. Contribute to ohler55/ox development by creating an account on GitHub.
- 321Enables easy Google map + overlays creation in Ruby apps
https://github.com/apneadiving/Google-Maps-for-Rails
Enables easy Google map + overlays creation in Ruby apps - apneadiving/Google-Maps-for-Rails
- 322Ruby ♥︎ JavaScript
https://github.com/opal/opal
Ruby ♥︎ JavaScript. Contribute to opal/opal development by creating an account on GitHub.
- 323Lightweight Ruby
https://github.com/mruby/mruby
Lightweight Ruby. Contribute to mruby/mruby development by creating an account on GitHub.
- 324BugSnag error monitoring & reporting software for rails, sinatra, rack and ruby
https://github.com/bugsnag/bugsnag-ruby
BugSnag error monitoring & reporting software for rails, sinatra, rack and ruby - bugsnag/bugsnag-ruby
- 325Ruby bindings for ImageMagick
https://github.com/rmagick/rmagick
Ruby bindings for ImageMagick. Contribute to rmagick/rmagick development by creating an account on GitHub.
- 326Super simple PDF invoicing
https://github.com/strzibny/invoice_printer
Super simple PDF invoicing. Contribute to strzibny/invoice_printer development by creating an account on GitHub.
- 327Upload files securely
https://github.com/dtaniwaki/rack-secure-upload
Upload files securely. Contribute to dtaniwaki/rack-secure-upload development by creating an account on GitHub.
- 328Secret User Agent of HTTP
https://github.com/lostisland/sawyer
Secret User Agent of HTTP. Contribute to lostisland/sawyer development by creating an account on GitHub.
- 329Really simple rubygem hosting
https://github.com/geminabox/geminabox
Really simple rubygem hosting. Contribute to geminabox/geminabox development by creating an account on GitHub.
- 330iOS, Android and Windows Phone Push Notifications made easy!!
https://github.com/calonso/ruby-push-notifications
iOS, Android and Windows Phone Push Notifications made easy!! - calonso/ruby-push-notifications
- 331Ruby and Rails efficient Kafka processing framework
https://github.com/karafka/karafka
Ruby and Rails efficient Kafka processing framework - karafka/karafka
- 332A drop in replacement for geminabox written in Go
https://github.com/gemfast/server
A drop in replacement for geminabox written in Go. Contribute to gemfast/server development by creating an account on GitHub.
- 333'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby.
https://github.com/nahi/httpclient
'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby. - nahi/httpclient
- 334Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms
https://github.com/nathanvda/cocoon
Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms - nathanvda/cocoon
- 335Usable, fast, simple HTTP 1.1 for Ruby
https://github.com/excon/excon
Usable, fast, simple HTTP 1.1 for Ruby. Contribute to excon/excon development by creating an account on GitHub.
- 336Better ImageMagick for Ruby
https://github.com/maxim/skeptick
Better ImageMagick for Ruby. Contribute to maxim/skeptick development by creating an account on GitHub.
- 337Bootstrappers is the base Rails application using Bootstrap template and other goodies.
https://github.com/xdite/bootstrappers
Bootstrappers is the base Rails application using Bootstrap template and other goodies. - xdite/bootstrappers
- 338Nested exceptions for Ruby
https://github.com/skorks/nesty
Nested exceptions for Ruby. Contribute to skorks/nesty development by creating an account on GitHub.
- 339Simple ruby version manager for fish
https://github.com/terlar/fry
Simple ruby version manager for fish. Contribute to terlar/fry development by creating an account on GitHub.
- 340High-performance HTML5 parser for Ruby based on Lexbor, with support for both CSS selectors and XPath.
https://github.com/serpapi/nokolexbor
High-performance HTML5 parser for Ruby based on Lexbor, with support for both CSS selectors and XPath. - serpapi/nokolexbor
- 341Parse Photoshop files in Ruby with ease
https://github.com/layervault/psd.rb
Parse Photoshop files in Ruby with ease. Contribute to layervault/psd.rb development by creating an account on GitHub.
- 342Yet another approach to file upload
https://github.com/choonkeat/attache
Yet another approach to file upload. Contribute to choonkeat/attache development by creating an account on GitHub.
- 343Exception tracking and logging from Ruby to Rollbar
https://github.com/rollbar/rollbar-gem
Exception tracking and logging from Ruby to Rollbar - rollbar/rollbar-gem
- 344ruby bindings to libgit2
https://github.com/libgit2/rugged
ruby bindings to libgit2. Contribute to libgit2/rugged development by creating an account on GitHub.
- 345Ruby parser for Accept-Language request HTTP header 🌐
https://github.com/cyril/accept_language.rb
Ruby parser for Accept-Language request HTTP header 🌐 - cyril/accept_language.rb
- 346Fast, Nimble PDF Writer for Ruby
https://github.com/prawnpdf/prawn
Fast, Nimble PDF Writer for Ruby. Contribute to prawnpdf/prawn development by creating an account on GitHub.
- 347JRuby, an implementation of Ruby on the JVM
https://github.com/jruby/jruby
JRuby, an implementation of Ruby on the JVM. Contribute to jruby/jruby development by creating an account on GitHub.
- 348The Rubinius Language Platform
https://github.com/rubinius/rubinius
The Rubinius Language Platform. Contribute to rubinius/rubinius development by creating an account on GitHub.
- 349Rumale is a machine learning library in Ruby
https://github.com/yoshoku/rumale
Rumale is a machine learning library in Ruby. Contribute to yoshoku/rumale development by creating an account on GitHub.
- 350Rails form builder for Bootstrap 4 markup that actually works!
https://github.com/comfy/comfy-bootstrap-form
Rails form builder for Bootstrap 4 markup that actually works! - comfy/comfy-bootstrap-form
- 351A RubyGems.org cache and private gem server
https://github.com/rubygems/gemstash
A RubyGems.org cache and private gem server. Contribute to rubygems/gemstash development by creating an account on GitHub.
- 352Artificial Intelligence for Ruby - A Ruby playground for AI researchers
https://github.com/sergiofierens/ai4r
Artificial Intelligence for Ruby - A Ruby playground for AI researchers - SergioFierens/ai4r
- 353Find the first broken commit without having to learn git bisect
https://github.com/grosser/git-autobisect
Find the first broken commit without having to learn git bisect - grosser/git-autobisect
- 354Translations with speech synthesis in your terminal as a ruby gem
https://github.com/pawurb/termit
Translations with speech synthesis in your terminal as a ruby gem - pawurb/termit
- 355Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files
https://github.com/westonplatter/phashion
Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files - westonplatter/phashion
- 356A Ruby implementation of an Event Store based on Active Record
https://github.com/RailsEventStore/rails_event_store
A Ruby implementation of an Event Store based on Active Record - RailsEventStore/rails_event_store
- 357Gem to automatically make a rubygems mirror.
https://github.com/PierreRambaud/gemirro
Gem to automatically make a rubygems mirror. Contribute to PierreRambaud/gemirro development by creating an account on GitHub.
- 358A web frontend for Git repositories
https://github.com/NARKOZ/ginatra
A web frontend for Git repositories. Contribute to NARKOZ/ginatra development by creating an account on GitHub.
- 359A tool for changing your $GEM_HOME
https://github.com/postmodern/gem_home
A tool for changing your $GEM_HOME. Contribute to postmodern/gem_home development by creating an account on GitHub.
- 360:tada: Makes http fun again!
https://github.com/jnunemaker/httparty
:tada: Makes http fun again! Contribute to jnunemaker/httparty development by creating an account on GitHub.
- 361Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X.
https://github.com/alexch/rerun
Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X. - alexch/rerun
- 362FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit.
https://github.com/larskanis/fxruby
FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit. - larskanis/fxruby
- 363Skylight agent for Ruby
https://github.com/skylightio/skylight-ruby
Skylight agent for Ruby. Contribute to skylightio/skylight-ruby development by creating an account on GitHub.
- 364An easy to install gem version of the Ruby bindings to Qt
https://github.com/ryanmelt/qtbindings
An easy to install gem version of the Ruby bindings to Qt - ryanmelt/qtbindings
- 365Simple authorization gem for GraphQL :lock:
https://github.com/exAspArk/graphql-guard
Simple authorization gem for GraphQL :lock:. Contribute to exAspArk/graphql-guard development by creating an account on GitHub.
- 366kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions.
https://github.com/gettalong/kramdown
kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions. - gettalong/kramdown
- 367A query batching executor for the graphql gem
https://github.com/Shopify/graphql-batch
A query batching executor for the graphql gem. Contribute to Shopify/graphql-batch development by creating an account on GitHub.
- 368Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master with a great commit message template.
https://github.com/reenhanced/gitreflow
Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master with a great commit message template. - reenhanced/gitreflow
- 369Easy multi-tenanting for Rails5 (or Rails4) + Devise
https://github.com/jekuno/milia
Easy multi-tenanting for Rails5 (or Rails4) + Devise - jekuno/milia
- 370The official Airbrake library for Ruby applications
https://github.com/airbrake/airbrake
The official Airbrake library for Ruby applications - airbrake/airbrake
- 371Experiment Driven Development for Ruby
https://github.com/assaf/vanity
Experiment Driven Development for Ruby. Contribute to assaf/vanity development by creating an account on GitHub.
- 372A pure-Ruby Markdown-superset interpreter (Official Repo).
https://github.com/bhollis/maruku
A pure-Ruby Markdown-superset interpreter (Official Repo). - bhollis/maruku
- 373Build software better, together
https://github.com/github/graphql-client
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
- 374Microservice native message and event store for Postgres
https://github.com/message-db/message-db
Microservice native message and event store for Postgres - message-db/message-db
- 375Curated list: Resources for machine learning in Ruby
https://github.com/arbox/machine-learning-with-ruby
Curated list: Resources for machine learning in Ruby - arbox/machine-learning-with-ruby
- 376A command line interface for smithing Ruby gems.
https://github.com/bkuhlmann/gemsmith
A command line interface for smithing Ruby gems. Contribute to bkuhlmann/gemsmith development by creating an account on GitHub.
- 377Ruby file uploads, take 3
https://github.com/refile/refile
Ruby file uploads, take 3. Contribute to refile/refile development by creating an account on GitHub.
- 378Exception Notifier Plugin for Rails
https://github.com/smartinez87/exception_notification
Exception Notifier Plugin for Rails. Contribute to smartinez87/exception_notification development by creating an account on GitHub.
- 379Manage Procfile-based applications
https://github.com/ddollar/foreman
Manage Procfile-based applications. Contribute to ddollar/foreman development by creating an account on GitHub.
- 380Dead simple Ruby Syslog logger
https://github.com/crohr/syslogger
Dead simple Ruby Syslog logger. Contribute to crohr/syslogger development by creating an account on GitHub.
- 381Typhoeus wraps libcurl in order to make fast and reliable requests.
https://github.com/typhoeus/typhoeus
Typhoeus wraps libcurl in order to make fast and reliable requests. - typhoeus/typhoeus
- 382The open source error catcher that's Airbrake API compliant
https://github.com/errbit/errbit
The open source error catcher that's Airbrake API compliant - errbit/errbit
- 383Log4r is a comprehensive and flexible logging library for use in Ruby programs. It features a heirarchical logging system of any number of levels, custom level names, multiple output destinations per log event, custom formatting, and more.
https://github.com/colbygk/log4r
Log4r is a comprehensive and flexible logging library for use in Ruby programs. It features a heirarchical logging system of any number of levels, custom level names, multiple output destinations p...
- 384Simple logging
https://github.com/asenchi/scrolls
Simple logging. Contribute to asenchi/scrolls development by creating an account on GitHub.
- 385Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
https://github.com/rest-client/rest-client
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions. - rest-client/rest-client
- 386Unleash client SDK for Ruby
https://github.com/Unleash/unleash-client-ruby
Unleash client SDK for Ruby. Contribute to Unleash/unleash-client-ruby development by creating an account on GitHub.
- 387Ruby on Rails Custom Error Pages
https://github.com/richpeck/exception_handler
Ruby on Rails Custom Error Pages. Contribute to richpeck/exception_handler development by creating an account on GitHub.
- 388mini replacement for RMagick
https://github.com/minimagick/minimagick
mini replacement for RMagick. Contribute to minimagick/minimagick development by creating an account on GitHub.
- 389The Listen gem listens to file modifications and notifies you about the changes.
https://github.com/guard/listen
The Listen gem listens to file modifications and notifies you about the changes. - guard/listen
- 390Supercharged method introspection in IRB
https://github.com/oggy/looksee
Supercharged method introspection in IRB. Contribute to oggy/looksee development by creating an account on GitHub.
- 391A Ruby structured logging is capable of handling a message, custom data or an exception easily and generates JSON or human readable logs.
https://github.com/tilfin/ougai
A Ruby structured logging is capable of handling a message, custom data or an exception easily and generates JSON or human readable logs. - tilfin/ougai
- 392DeviceDetector is a precise and fast user agent parser and device detector written in Ruby
https://github.com/podigee/device_detector
DeviceDetector is a precise and fast user agent parser and device detector written in Ruby - podigee/device_detector
- 393:chart_with_upwards_trend: The Rack Based A/B testing framework
https://github.com/splitrb/split
:chart_with_upwards_trend: The Rack Based A/B testing framework - splitrb/split
- 394Sequel: The Database Toolkit for Ruby
https://github.com/jeremyevans/sequel
Sequel: The Database Toolkit for Ruby. Contribute to jeremyevans/sequel development by creating an account on GitHub.
- 395Sym is a command line utility and a Ruby API that makes it trivial to encrypt and decrypt sensitive data. Unlike many other existing encryption tools, sym focuses on usability and streamlined interface (CLI), with the goal of making encryption easy and transparent. The result? There is no excuse for keeping your application secrets unencrypted :)
https://github.com/kigster/sym
Sym is a command line utility and a Ruby API that makes it trivial to encrypt and decrypt sensitive data. Unlike many other existing encryption tools, sym focuses on usability and streamlined inter...
- 396A flexible logging library for use in Ruby programs based on the design of Java's log4j library.
https://github.com/TwP/logging
A flexible logging library for use in Ruby programs based on the design of Java's log4j library. - TwP/logging
- 397OS / httpx · GitLab
https://gitlab.com/honeyryderchuck/httpx
An HTTP client library for ruby
- 398🏆 The Best Pagination Ruby Gem 🥇
https://github.com/ddnexus/pagy
🏆 The Best Pagination Ruby Gem 🥇. Contribute to ddnexus/pagy development by creating an account on GitHub.
- 399Complete Ruby geocoding solution.
https://github.com/alexreisner/geocoder
Complete Ruby geocoding solution. Contribute to alexreisner/geocoder development by creating an account on GitHub.
- 400Fluentd: Unified Logging Layer (project under CNCF)
https://github.com/fluent/fluentd
Fluentd: Unified Logging Layer (project under CNCF) - fluent/fluentd
- 401Ruby library for interfacing with FANN (Fast Artificial Neural Network)
https://github.com/tangledpath/ruby-fann
Ruby library for interfacing with FANN (Fast Artificial Neural Network) - tangledpath/ruby-fann
- 402Repository for collecting Locale data for Ruby on Rails I18n as well as other interesting, Rails related I18n stuff
https://github.com/svenfuchs/rails-i18n
Repository for collecting Locale data for Ruby on Rails I18n as well as other interesting, Rails related I18n stuff - svenfuchs/rails-i18n
- 403The Cocoa Dependency Manager.
https://github.com/CocoaPods/CocoaPods
The Cocoa Dependency Manager. Contribute to CocoaPods/CocoaPods development by creating an account on GitHub.
- 404A ruby gem to liberate content from Microsoft Word documents
https://github.com/benbalter/word-to-markdown
A ruby gem to liberate content from Microsoft Word documents - benbalter/word-to-markdown
- 405Easy file attachment management for ActiveRecord
https://github.com/thoughtbot/paperclip
Easy file attachment management for ActiveRecord. Contribute to thoughtbot/paperclip development by creating an account on GitHub.
- 406Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies
https://github.com/BayesWitnesses/m2cgen
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies - BayesWitnesses/m2cgen
- 407An attempt to tame Rails' default policy to log everything.
https://github.com/roidrage/lograge
An attempt to tame Rails' default policy to log everything. - roidrage/lograge
- 408Machine Learning & Data Mining with JRuby
https://github.com/paulgoetze/weka-jruby
Machine Learning & Data Mining with JRuby. Contribute to paulgoetze/weka-jruby development by creating an account on GitHub.
- 409PubNub Ruby-based APIs
https://github.com/pubnub/ruby
PubNub Ruby-based APIs. Contribute to pubnub/ruby development by creating an account on GitHub.
- 410:cloud: Try the demo project of any Android Library
https://github.com/cesarferreira/dryrun
:cloud: Try the demo project of any Android Library - cesarferreira/dryrun
- 411A gem that calculates the exchange rate using published rates from European Central Bank. Compatible with the money gem
https://github.com/RubyMoney/eu_central_bank
A gem that calculates the exchange rate using published rates from European Central Bank. Compatible with the money gem - RubyMoney/eu_central_bank
- 412Official Geokit Gem. Geokit gem provides geocoding and distance/heading calculations. Pair with the geokit-rails plugin for full-fledged location-based app functionality.
https://github.com/geokit/geokit
Official Geokit Gem. Geokit gem provides geocoding and distance/heading calculations. Pair with the geokit-rails plugin for full-fledged location-based app functionality. - geokit/geokit
- 413:headphones: A Slack-Powered music bot for Spotify
https://github.com/smashingboxes/maestro
:headphones: A Slack-Powered music bot for Spotify - smashingboxes/maestro
- 414Bunny is a popular, easy to use, mature Ruby client for RabbitMQ
https://github.com/ruby-amqp/bunny
Bunny is a popular, easy to use, mature Ruby client for RabbitMQ - ruby-amqp/bunny
- 415Yell - Your Extensible Logging Library
https://github.com/rudionrails/yell
Yell - Your Extensible Logging Library. Contribute to rudionrails/yell development by creating an account on GitHub.
- 416Ruby language bindings for LIBSVM
https://github.com/febeling/rb-libsvm
Ruby language bindings for LIBSVM. Contribute to febeling/rb-libsvm development by creating an account on GitHub.
- 417DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for XML (& HTML), and Glimmer DSL for CSS
https://github.com/AndyObtiva/glimmer
DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for ...
- 418Provides iteration per second benchmarking for Ruby
https://github.com/evanphx/benchmark-ips
Provides iteration per second benchmarking for Ruby - evanphx/benchmark-ips
- 419Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
https://github.com/heartcombo/simple_form
Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup. - heartcombo/simple_form
- 420Improvements for Ruby's IRB console 💎︎
https://github.com/janlelis/irbtools
Improvements for Ruby's IRB console 💎︎. Contribute to janlelis/irbtools development by creating an account on GitHub.
- 421A set of bindings for the GNOME libraries to use from Ruby.
https://github.com/ruby-gnome/ruby-gnome
A set of bindings for the GNOME libraries to use from Ruby. - ruby-gnome/ruby-gnome
- 422Ruby ORM for RethinkDB
https://github.com/nviennot/nobrainer/
Ruby ORM for RethinkDB. Contribute to NoBrainerORM/nobrainer development by creating an account on GitHub.
- 423Log outgoing HTTP requests in ruby
https://github.com/trusche/httplog
Log outgoing HTTP requests in ruby. Contribute to trusche/httplog development by creating an account on GitHub.
- 424A platform for developing apps using JRuby on Android.
https://github.com/ruboto/ruboto
A platform for developing apps using JRuby on Android. - ruboto/ruboto
- 425A ruby profiler. See https://ruby-prof.github.io for more information.
https://github.com/ruby-prof/ruby-prof
A ruby profiler. See https://ruby-prof.github.io for more information. - ruby-prof/ruby-prof
- 426A DSL for building fun, high-performance DNS servers.
https://github.com/ioquatix/rubydns
A DSL for building fun, high-performance DNS servers. - socketry/rubydns
- 427🍻 A CLI workflow for the administration of macOS applications distributed as binaries
https://github.com/caskroom/homebrew-cask
🍻 A CLI workflow for the administration of macOS applications distributed as binaries - Homebrew/homebrew-cask
- 428Ruby extension for the libvips image processing library.
https://github.com/jcupitt/ruby-vips
Ruby extension for the libvips image processing library. - libvips/ruby-vips
- 429PredictionIO Ruby SDK
https://github.com/PredictionIO/PredictionIO-Ruby-SDK
PredictionIO Ruby SDK. Contribute to apache/predictionio-sdk-ruby development by creating an account on GitHub.
- 430A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby. It is designed to be backwards compatible with the standard RSS parser, but will never do RSS generation.
https://github.com/cardmagic/simple-rss
A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby. It is designed to be backwards compatible with the standard RSS parser, but will never do RSS generation. - cardmagic/simpl...
- 431Extensible Ruby wrapper for Atom and RSS parsers
https://github.com/aasmith/feed-normalizer
Extensible Ruby wrapper for Atom and RSS parsers. Contribute to aasmith/feed-normalizer development by creating an account on GitHub.
- 432The safe Markdown parser, reloaded.
https://github.com/vmg/redcarpet
The safe Markdown parser, reloaded. Contribute to vmg/redcarpet development by creating an account on GitHub.
- 433🎹🎸A music theory library with a command-line interface
https://github.com/pedrozath/coltrane
🎹🎸A music theory library with a command-line interface - pedrozath/coltrane
- 434Fast String#underscore implementation
https://github.com/kddeisz/fast_underscore
Fast String#underscore implementation. Contribute to kddnewton/fast_underscore development by creating an account on GitHub.
- 435The web app builder for Rails (moved from tablatom/hobo)
https://github.com/Hobo/hobo
The web app builder for Rails (moved from tablatom/hobo) - Hobo/hobo
- 436Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
https://github.com/carrierwaveuploader/carrierwave
Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks - carrierwaveuploader/carrierwave
- 437Rails I18n de-facto standard library for ActiveRecord model/data translation.
https://github.com/globalize/globalize
Rails I18n de-facto standard library for ActiveRecord model/data translation. - globalize/globalize
- 438Idiomatic, fast and well-maintained JRuby client for RabbitMQ
https://github.com/ruby-amqp/march_hare
Idiomatic, fast and well-maintained JRuby client for RabbitMQ - ruby-amqp/march_hare
- 439ActiveRecord Mixin for Safe Destroys
https://github.com/dockyard/ruby-destroyed_at
ActiveRecord Mixin for Safe Destroys. Contribute to DavyJonesLocker/ruby-destroyed_at development by creating an account on GitHub.
- 440Deep learning for Ruby
https://github.com/ankane/tensorflow
Deep learning for Ruby. Contribute to ankane/tensorflow-ruby development by creating an account on GitHub.
- 441Ruby Agent for Instrumental Application Monitoring
https://github.com/expectedbehavior/instrumental_agent
Ruby Agent for Instrumental Application Monitoring - Instrumental/instrumental_agent-ruby
- 442🕰️ Monitor your cron jobs
https://github.com/jamesrwhite/minicron
🕰️ Monitor your cron jobs. Contribute to jamesrwhite/minicron development by creating an account on GitHub.
- 443Sampling CPU profiler for Ruby
https://github.com/rbspy/rbspy
Sampling CPU profiler for Ruby. Contribute to rbspy/rbspy development by creating an account on GitHub.
- 444Deep learning for Ruby, powered by LibTorch
https://github.com/ankane/torch.rb
Deep learning for Ruby, powered by LibTorch. Contribute to ankane/torch.rb development by creating an account on GitHub.
- 445File Attachment toolkit for Ruby applications
https://github.com/janko-m/shrine
File Attachment toolkit for Ruby applications. Contribute to shrinerb/shrine development by creating an account on GitHub.
- 446bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords.
https://github.com/codahale/bcrypt-ruby
bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm, allowing you to easily store a secure hash of your users' passwords. - bcrypt-ruby/bcrypt-ruby
- 447Ruby FFI binding to the Networking and Cryptography (NaCl) library (a.k.a. libsodium)
https://github.com/cryptosphere/rbnacl
Ruby FFI binding to the Networking and Cryptography (NaCl) library (a.k.a. libsodium) - RubyCrypto/rbnacl
- 4483D Graphics Library for Ruby.
https://github.com/jellymann/mittsu
3D Graphics Library for Ruby. Contribute to danini-the-panini/mittsu development by creating an account on GitHub.
- 449A fast background processing framework for Ruby and RabbitMQ
https://github.com/jondot/sneakers
A fast background processing framework for Ruby and RabbitMQ - jondot/sneakers
- 450Collection of text algorithms. gem install text
https://github.com/threedaymonk/text
Collection of text algorithms. gem install text. Contribute to threedaymonk/text development by creating an account on GitHub.
- 451🐬 Beautiful, performant feature flags for Ruby.
https://github.com/jnunemaker/flipper
🐬 Beautiful, performant feature flags for Ruby. Contribute to flippercloud/flipper development by creating an account on GitHub.
- 452Code. Music. Live.
https://github.com/samaaron/sonic-pi
Code. Music. Live. Contribute to sonic-pi-net/sonic-pi development by creating an account on GitHub.
- 453I18n tool to translate your Ruby application.
https://github.com/ai/r18n
I18n tool to translate your Ruby application. Contribute to r18n/r18n development by creating an account on GitHub.
- 454A feed parsing library
https://github.com/feedjira/feedjira
A feed parsing library. Contribute to feedjira/feedjira development by creating an account on GitHub.
- 455Rails application generator that builds applications with the common customization stuff already done.
https://github.com/carbonfive/raygun
Rails application generator that builds applications with the common customization stuff already done. - carbonfive/raygun
- 456Ruby speech recognition with Pocketsphinx
https://github.com/watsonbox/pocketsphinx-ruby
Ruby speech recognition with Pocketsphinx. Contribute to watsonbox/pocketsphinx-ruby development by creating an account on GitHub.
- 457A runtime developer console and IRB alternative with powerful introspection capabilities.
https://github.com/pry/pry
A runtime developer console and IRB alternative with powerful introspection capabilities. - pry/pry
- 458🚀 The easiest way to automate building and releasing your iOS and Android apps
https://github.com/fastlane/fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps - fastlane/fastlane
- 459Encapsulate measurements and their units in Ruby and Ruby on Rails.
https://github.com/Shopify/measured
Encapsulate measurements and their units in Ruby and Ruby on Rails. - Shopify/measured
- 460Curated List: Practical Natural Language Processing done in Ruby
https://github.com/arbox/nlp-with-ruby
Curated List: Practical Natural Language Processing done in Ruby - arbox/nlp-with-ruby
- 461Natural language processing framework for Ruby.
https://github.com/louismullie/treat
Natural language processing framework for Ruby. Contribute to louismullie/treat development by creating an account on GitHub.
- 462New Relic RPM Ruby Agent
https://github.com/newrelic/rpm
New Relic RPM Ruby Agent. Contribute to newrelic/newrelic-ruby-agent development by creating an account on GitHub.
- 463Form objects decoupled from models.
https://github.com/apotonick/reform
Form objects decoupled from models. Contribute to trailblazer/reform development by creating an account on GitHub.
- 464Making dynamic surveys should be easy!
https://github.com/code-mancers/rapidfire
Making dynamic surveys should be easy! Contribute to codemancers/rapidfire development by creating an account on GitHub.
- 465Opinionated rails application templates.
https://github.com/nickjj/orats
Opinionated rails application templates. Contribute to nickjj/orats development by creating an account on GitHub.
- 466A Rails template with our standard defaults.
https://github.com/thoughtbot/suspenders
A Rails template with our standard defaults. Contribute to thoughtbot/suspenders development by creating an account on GitHub.
- 467Makes your background jobs interruptible and resumable by design.
https://github.com/Shopify/job-iteration
Makes your background jobs interruptible and resumable by design. - Shopify/job-iteration
- 468Simple sentiment analysis with Ruby
https://github.com/7compass/sentimental
Simple sentiment analysis with Ruby. Contribute to 7compass/sentimental development by creating an account on GitHub.
- 469acts_as_paranoid for Rails 5, 6 and 7
https://github.com/radar/paranoia
acts_as_paranoid for Rails 5, 6 and 7. Contribute to rubysherpas/paranoia development by creating an account on GitHub.
- 470Manage your Redis instance (see keys, memory used, connected client, etc...)
https://github.com/OpenGems/redis_web_manager
Manage your Redis instance (see keys, memory used, connected client, etc...) - OpenGems/redis_web_manager
- 471A faster alternative to the custom use of `in_batches` with `pluck`
https://github.com/fatkodima/pluck_in_batches
A faster alternative to the custom use of `in_batches` with `pluck` - fatkodima/pluck_in_batches
- 472Ruby ORM for MongoDB (compatible with Rails 3)
https://github.com/spohlenz/mongomodel
Ruby ORM for MongoDB (compatible with Rails 3). Contribute to spohlenz/mongomodel development by creating an account on GitHub.
- 473A lightweight cron scheduler for the async job worker Que
https://github.com/hlascelles/que-scheduler
A lightweight cron scheduler for the async job worker Que - hlascelles/que-scheduler
- 474Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday.
https://github.com/brandonhilkert/sucker_punch
Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday. - brandonhilkert/sucker_punch
- 475Cron jobs in Ruby
https://github.com/javan/whenever
Cron jobs in Ruby. Contribute to javan/whenever development by creating an account on GitHub.
- 476Manage your app's Ruby environment
https://github.com/sstephenson/rbenv
Manage your app's Ruby environment. Contribute to rbenv/rbenv development by creating an account on GitHub.
- 477Ruby Tests Profiling Toolbox
https://github.com/palkan/test-prof
Ruby Tests Profiling Toolbox. Contribute to test-prof/test-prof development by creating an account on GitHub.
- 478Ruby on Jets
https://github.com/tongueroo/jets
Ruby on Jets. Contribute to rubyonjets/jets development by creating an account on GitHub.
- 479A unit handling library for ruby
https://github.com/olbrich/ruby-units
A unit handling library for ruby. Contribute to olbrich/ruby-units development by creating an account on GitHub.
- 480A Ruby Library for dealing with money and currency conversion.
https://github.com/RubyMoney/money
A Ruby Library for dealing with money and currency conversion. - RubyMoney/money
- 481Dnsruby is a feature-complete DNS(SEC) client for Ruby, as used by many of the world's largest DNS registries and the OpenDNSSEC project
https://github.com/alexdalitz/dnsruby
Dnsruby is a feature-complete DNS(SEC) client for Ruby, as used by many of the world's largest DNS registries and the OpenDNSSEC project - alexdalitz/dnsruby
- 482SamSaffron/fast_blank
https://github.com/SamSaffron/fast_blank
Contribute to SamSaffron/fast_blank development by creating an account on GitHub.
- 483An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times.
https://github.com/simplymadeapps/simple_scheduler
An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times. - simplymadeapps/simple_scheduler
- 484Arli is the command line tool, that's both — the Arduino Library manager that's decoupled from any IDE, as well a project generator based on "arduino-cmake". By coupling dependency management with CMake-based build system, Arli provides an easy way to package, share, and distribute complex Arduino projects.
https://github.com/kigster/arli
Arli is the command line tool, that's both — the Arduino Library manager that's decoupled from any IDE, as well a project generator based on "arduino-cmake". By coupling dependenc...
- 485Take a peek into your Rails applications.
https://github.com/peek/peek
Take a peek into your Rails applications. Contribute to peek/peek development by creating an account on GitHub.
- 486A ruby job scheduler which runs jobs each in their own thread in a persistent process.
https://github.com/jjb/ruby-clock
A ruby job scheduler which runs jobs each in their own thread in a persistent process. - jjb/ruby-clock
- 487A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.
https://github.com/chanks/que
A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability. - que-rb/que
- 488Quickly get a count estimation for large tables (>99% of accuracy for PostgreSQL).
https://github.com/fatkodima/fast_count
Quickly get a count estimation for large tables (>99% of accuracy for PostgreSQL). - fatkodima/fast_count
- 489Attach comments to ActiveRecord's SQL queries
https://github.com/basecamp/marginalia
Attach comments to ActiveRecord's SQL queries. Contribute to basecamp/marginalia development by creating an account on GitHub.
- 490Database based asynchronous priority queue system -- Extracted from Shopify
https://github.com/collectiveidea/delayed_job
Database based asynchronous priority queue system -- Extracted from Shopify - GitHub - collectiveidea/delayed_job: Database based asynchronous priority queue system -- Extracted from Shopify
- 491help to kill N+1 queries and unused eager loading
https://github.com/flyerhzm/bullet
help to kill N+1 queries and unused eager loading. Contribute to flyerhzm/bullet development by creating an account on GitHub.
- 492feedparser gem - (universal) web feed parser and normalizer (XML w/ Atom or RSS, JSON Feed, HTML w/ Microformats e.g. h-entry/h-feed or Feed.HTML, Feed.TXT w/ YAML, JSON or INI & Markdown, etc.)
https://github.com/feedparser/feedparser
feedparser gem - (universal) web feed parser and normalizer (XML w/ Atom or RSS, JSON Feed, HTML w/ Microformats e.g. h-entry/h-feed or Feed.HTML, Feed.TXT w/ YAML, JSON or INI & Markdown, etc....
- 493The Official Ruby Object Mapper for MongoDB
https://github.com/mongodb/mongoid
The Official Ruby Object Mapper for MongoDB. Contribute to mongodb/mongoid development by creating an account on GitHub.
- 494rails/activerecord at main · rails/rails
https://github.com/rails/rails/tree/master/activerecord
Ruby on Rails. Contribute to rails/rails development by creating an account on GitHub.
- 495Object to XML mapping library, using Nokogiri (Fork from John Nunemaker's Happymapper)
https://github.com/dam5s/happymapper
Object to XML mapping library, using Nokogiri (Fork from John Nunemaker's Happymapper) - mvz/happymapper
- 496A self-hosted, anti-social RSS reader.
https://github.com/swanson/stringer
A self-hosted, anti-social RSS reader. Contribute to stringer-rss/stringer development by creating an account on GitHub.
- 497Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
https://github.com/aq1018/mongoid-history
Multi-user non-linear history tracking, auditing, undo, redo for mongoid. - mongoid/mongoid-history
- 498Fast and distributed workflow runner using ActiveJob and Redis
https://github.com/chaps-io/gush
Fast and distributed workflow runner using ActiveJob and Redis - chaps-io/gush
- 499Ordered background jobs processing
https://github.com/bia-technologies/lowkiq
Ordered background jobs processing. Contribute to bia-technologies/lowkiq development by creating an account on GitHub.
- 500An ActiveRecord plugin for atomic archiving and unarchiving of object trees. Inspired by ActsAsParanoid and PermanentRecord
https://github.com/expectedbehavior/acts_as_archival
An ActiveRecord plugin for atomic archiving and unarchiving of object trees. Inspired by ActsAsParanoid and PermanentRecord - expectedbehavior/acts_as_archival
- 501Download, unpack from a ZIP/TAR/GZ/BZ2 archive, parse, correct, convert units and import Google Spreadsheets, XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models. Uses RemoteTable gem internally.
https://github.com/seamusabshere/data_miner
Download, unpack from a ZIP/TAR/GZ/BZ2 archive, parse, correct, convert units and import Google Spreadsheets, XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models. Uses RemoteTable gem inte...
- 502A new profiler for Ruby. With a GUI
https://github.com/code-mancers/rbkit
A new profiler for Ruby. With a GUI. Contribute to codemancers/rbkit development by creating an account on GitHub.
- 503A Ruby-based parsing DSL based on parsing expression grammars.
https://github.com/cjheath/treetop
A Ruby-based parsing DSL based on parsing expression grammars. - cjheath/treetop
- 504Ruby persistence framework with entities and repositories
https://github.com/hanami/model
Ruby persistence framework with entities and repositories - hanami/model
- 505A Ruby natural language processor.
https://github.com/abitdodgy/words_counted
A Ruby natural language processor. Contribute to abitdodgy/words_counted development by creating an account on GitHub.
- 506Profiler for your development and production Ruby rack apps.
https://github.com/MiniProfiler/rack-mini-profiler
Profiler for your development and production Ruby rack apps. - GitHub - MiniProfiler/rack-mini-profiler: Profiler for your development and production Ruby rack apps.
- 507A super efficient Amazon SQS thread based message processor for Ruby
https://github.com/phstc/shoryuken
A super efficient Amazon SQS thread based message processor for Ruby - ruby-shoryuken/shoryuken
- 508A data migration and visualization command line gem in Ruby
https://github.com/cmu-is-projects/ferry
A data migration and visualization command line gem in Ruby - cmu-is-projects/ferry
- 509Easily and efficiently make your ActiveRecord models support hierarchies
https://github.com/mceachen/closure_tree
Easily and efficiently make your ActiveRecord models support hierarchies - ClosureTree/closure_tree
- 510A Rails form builder plugin with semantically rich and accessible markup.
https://github.com/justinfrench/formtastic
A Rails form builder plugin with semantically rich and accessible markup. - formtastic/formtastic
- 511Simple and reliable beanstalkd job queue for ruby
https://github.com/nesquena/backburner
Simple and reliable beanstalkd job queue for ruby. Contribute to nesquena/backburner development by creating an account on GitHub.
- 512Cross-platform Ruby library for managing child processes.
https://github.com/jarib/childprocess
Cross-platform Ruby library for managing child processes. - enkessler/childprocess
- 513This gem implements a flexible time-ordered activity feeds commonly used within social networking applications. As events occur, they are pushed into the Feed and distributed to all users that need to see the event. Upon the user visiting their "feed page", a pre-populated ordered list of events is returned by the library.
https://github.com/kigster/simple-feed
This gem implements a flexible time-ordered activity feeds commonly used within social networking applications. As events occur, they are pushed into the Feed and distributed to all users that need...
- 514Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation
https://github.com/westonganger/active_snapshot
Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation - westonganger/active_snapshot
- 515Rails Plugin - soft-delete your ActiveRecord records. It's like an explicit version of ActsAsParanoid
https://github.com/JackDanger/permanent_records
Rails Plugin - soft-delete your ActiveRecord records. It's like an explicit version of ActsAsParanoid - JackDanger/permanent_records
- 516Efficient bulk inserts with ActiveRecord
https://github.com/jamis/bulk_insert
Efficient bulk inserts with ActiveRecord. Contribute to jamis/bulk_insert development by creating an account on GitHub.
- 517Ruby process spawning library
https://github.com/rtomayko/posix-spawn
Ruby process spawning library. Contribute to rtomayko/posix-spawn development by creating an account on GitHub.
- 518Data mapping and persistence toolkit for Ruby
https://github.com/rom-rb/rom
Data mapping and persistence toolkit for Ruby. Contribute to rom-rb/rom development by creating an account on GitHub.
- 519Bit array for ActiveRecord
https://github.com/kenn/active_flag
Bit array for ActiveRecord. Contribute to kenn/active_flag development by creating an account on GitHub.
- 520A light-weight job scheduling system built on top of Resque
https://github.com/resque/resque-scheduler
A light-weight job scheduling system built on top of Resque - resque/resque-scheduler
- 521Boot large Ruby/Rails apps faster
https://github.com/Shopify/bootsnap
Boot large Ruby/Rails apps faster. Contribute to Shopify/bootsnap development by creating an account on GitHub.
- 522🃏🗑 Soft deletes for ActiveRecord done right
https://github.com/jhawthorn/discard
🃏🗑 Soft deletes for ActiveRecord done right. Contribute to jhawthorn/discard development by creating an account on GitHub.
- 523n Booleans = 1 Integer, saves columns and migrations.
https://github.com/grosser/bitfields
n Booleans = 1 Integer, saves columns and migrations. - grosser/bitfields
- 524Object-Hash Mapping for Redis
https://github.com/soveran/ohm
Object-Hash Mapping for Redis. Contribute to soveran/ohm development by creating an account on GitHub.
- 525A streaming JSON parsing and encoding library for Ruby (C bindings to yajl)
https://github.com/brianmario/yajl-ruby
A streaming JSON parsing and encoding library for Ruby (C bindings to yajl) - brianmario/yajl-ruby
- 526Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
https://github.com/resque/resque
Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later. - resque/resque
- 527webpush, Encryption Utilities for Web Push protocol
https://github.com/zaru/webpush
webpush, Encryption Utilities for Web Push protocol - zaru/webpush
- 528Allow you to pluck attributes from nested associations without loading a bunch of records.
https://github.com/khiav223577/deep_pluck
Allow you to pluck attributes from nested associations without loading a bunch of records. - khiav223577/deep_pluck
- 529Collection of ActiveModel/ActiveRecord validators
https://github.com/franckverrot/activevalidators
Collection of ActiveModel/ActiveRecord validators. Contribute to franckverrot/activevalidators development by creating an account on GitHub.
- 530ActsAsTree -- Extends ActiveRecord to add simple support for organizing items into parent–children relationships.
https://github.com/amerine/acts_as_tree
ActsAsTree -- Extends ActiveRecord to add simple support for organizing items into parent–children relationships. - amerine/acts_as_tree
- 531RGhost is a document creation and conversion API. It uses the Ghostscript framework for the format conversion, utilizes EPS templates and is optimized to work with larger documents. Support(PDF,PS,GIF,TIF,PNG,JPG,etc)
https://github.com/shairontoledo/rghost
RGhost is a document creation and conversion API. It uses the Ghostscript framework for the format conversion, utilizes EPS templates and is optimized to work with larger documents. Support(PDF,PS,...
- 532Easy activity tracking for models - similar to Github's Public Activity
https://github.com/chaps-io/public_activity
Easy activity tracking for models - similar to Github's Public Activity - public-activity/public_activity
- 533Rails Composer. The Rails generator on steroids for starter apps.
https://github.com/RailsApps/rails-composer
Rails Composer. The Rails generator on steroids for starter apps. - RailsApps/rails-composer
- 534Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
https://github.com/collectiveidea/audited
Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models. - collectiveidea/audited
- 535A collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software
https://github.com/diasks2/ruby-nlp
A collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software - diasks2/ruby-nlp
- 536slideshow gems - write your slides / talks / presentations in plain text with markdown formatting conventions
https://github.com/slideshow-s9/slideshow
slideshow gems - write your slides / talks / presentations in plain text with markdown formatting conventions - slideshow-s9/slideshow
- 537Make use of recursive queries in Rails when using Postgresql or SQLite
https://github.com/1and1/acts_as_recursive_tree
Make use of recursive queries in Rails when using Postgresql or SQLite - GitHub - 1and1/acts_as_recursive_tree: Make use of recursive queries in Rails when using Postgresql or SQLite
- 538Scheduler / Cron for Sidekiq jobs
https://github.com/ondrejbartas/sidekiq-cron
Scheduler / Cron for Sidekiq jobs. Contribute to sidekiq-cron/sidekiq-cron development by creating an account on GitHub.
- 539The push notification service for Ruby.
https://github.com/rpush/rpush
The push notification service for Ruby. Contribute to rpush/rpush development by creating an account on GitHub.
- 540A tree structure for Mongoid documents using the materialized path pattern
https://github.com/benedikt/mongoid-tree
A tree structure for Mongoid documents using the materialized path pattern - benedikt/mongoid-tree
- 541Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
https://github.com/jordansissel/fpm
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity. - jordansissel/fpm
- 542A Chef Cookbook manager
https://github.com/berkshelf/berkshelf
A Chef Cookbook manager. Contribute to berkshelf/berkshelf development by creating an account on GitHub.
- 543Performances & exceptions monitoring for Ruby on Rails applications
https://github.com/BaseSecrete/rorvswild
Performances & exceptions monitoring for Ruby on Rails applications - BaseSecrete/rorvswild
- 544Extending Arel
https://github.com/faveod/arel-extensions
Extending Arel. Contribute to Faveod/arel-extensions development by creating an account on GitHub.
- 545Tool for extracting pages from pdf as images and text as strings.
https://github.com/jonmagic/grim
Tool for extracting pages from pdf as images and text as strings. - jonmagic/grim
- 546Reputation engine for Rails apps
https://github.com/merit-gem/merit
Reputation engine for Rails apps. Contribute to merit-gem/merit development by creating an account on GitHub.
- 547Just the right amount of Rails eager loading
https://github.com/salsify/goldiloader
Just the right amount of Rails eager loading. Contribute to salsify/goldiloader development by creating an account on GitHub.
- 548An awesome replacement for acts_as_nested_set and better_nested_set.
https://github.com/collectiveidea/awesome_nested_set
An awesome replacement for acts_as_nested_set and better_nested_set. - collectiveidea/awesome_nested_set
- 549ScoutAPM Ruby Agent. Supports Rails, Sinatra, Grape, Rack, and many other frameworks
https://github.com/scoutapp/scout_apm_ruby
ScoutAPM Ruby Agent. Supports Rails, Sinatra, Grape, Rack, and many other frameworks - scoutapp/scout_apm_ruby
- 550🐊 Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)
https://github.com/adamcooke/procodile
🐊 Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments) - adamcooke/procodile
- 551Ruby process monitor
https://github.com/mojombo/god
Ruby process monitor. Contribute to mojombo/god development by creating an account on GitHub.
- 552Pragmatic Segmenter is a rule-based sentence boundary detection gem that works out-of-the-box across many languages.
https://github.com/diasks2/pragmatic_segmenter
Pragmatic Segmenter is a rule-based sentence boundary detection gem that works out-of-the-box across many languages. - diasks2/pragmatic_segmenter
- 553:star: A true Bayesian rating system with scope and cache enabled
https://github.com/wbotelhos/rating
:star: A true Bayesian rating system with scope and cache enabled - wbotelhos/rating
- 554Pagination library for Rails and other Ruby applications
https://github.com/mislav/will_paginate
Pagination library for Rails and other Ruby applications - mislav/will_paginate
- 555Map Redis types directly to Ruby objects
https://github.com/nateware/redis-objects
Map Redis types directly to Ruby objects. Contribute to nateware/redis-objects development by creating an account on GitHub.
- 556Versatile PDF creation and manipulation for Ruby
https://github.com/gettalong/hexapdf
Versatile PDF creation and manipulation for Ruby. Contribute to gettalong/hexapdf development by creating an account on GitHub.
- 557A Ruby library to plot charts in PDF files
https://github.com/fullscreen/squid
A Ruby library to plot charts in PDF files. Contribute to nullscreen/squid development by creating an account on GitHub.
- 558Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more.
https://github.com/twitter/twitter-cldr-rb
Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more. - twitter/twitter-cldr-rb
- 559A Ruby gem to transform HTML + CSS into PDFs using the command-line utility wkhtmltopdf
https://github.com/pdfkit/pdfkit
A Ruby gem to transform HTML + CSS into PDFs using the command-line utility wkhtmltopdf - pdfkit/pdfkit
- 560Easy multi-tenancy for Rails in a shared database setup.
https://github.com/ErwinM/acts_as_tenant
Easy multi-tenancy for Rails in a shared database setup. - ErwinM/acts_as_tenant
- 561Find next / previous Active Record(s) in one query
https://github.com/glebm/order_query
Find next / previous Active Record(s) in one query - glebm/order_query
- 562Track changes to your rails models
https://github.com/airblade/paper_trail
Track changes to your rails models. Contribute to paper-trail-gem/paper_trail development by creating an account on GitHub.
- 563OpenAI API + Ruby! 🤖❤️ NEW: Assistant Vector Stores
https://github.com/alexrudall/ruby-openai
OpenAI API + Ruby! 🤖❤️ NEW: Assistant Vector Stores - alexrudall/ruby-openai
- 564Process monitoring tool. Inspired from Bluepill and God.
https://github.com/kostya/eye
Process monitoring tool. Inspired from Bluepill and God. - kostya/eye
- 565Enumerated attributes with I18n and ActiveRecord/Mongoid support
https://github.com/brainspec/enumerize
Enumerated attributes with I18n and ActiveRecord/Mongoid support - brainspec/enumerize
- 566Internationalization (i18n) library for Ruby
https://github.com/svenfuchs/i18n
Internationalization (i18n) library for Ruby. Contribute to ruby-i18n/i18n development by creating an account on GitHub.
- 567Database changes log for Rails
https://github.com/palkan/logidze
Database changes log for Rails. Contribute to palkan/logidze development by creating an account on GitHub.
- 568ActiveRecord Sharding Plugin
https://github.com/drecom/activerecord-turntable
ActiveRecord Sharding Plugin. Contribute to drecom/activerecord-turntable development by creating an account on GitHub.
- 569🍺 The missing package manager for macOS (or Linux)
https://github.com/Homebrew/brew
🍺 The missing package manager for macOS (or Linux) - Homebrew/brew
- 570A Pure ruby library to merge PDF files, number pages and maybe more...
https://github.com/boazsegev/combine_pdf
A Pure ruby library to merge PDF files, number pages and maybe more... - boazsegev/combine_pdf
- 571a sampling call-stack profiler for ruby 2.2+
https://github.com/tmm1/stackprof
a sampling call-stack profiler for ruby 2.2+. Contribute to tmm1/stackprof development by creating an account on GitHub.
- 572A tool to download, compile, and install Ruby on Unix-like systems.
https://github.com/sstephenson/ruby-build
A tool to download, compile, and install Ruby on Unix-like systems. - rbenv/ruby-build
- 573Build software better, together
https://github.com/omohokcoj/ruby-spellchecker
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
- 574A framework for creating e-books from Markdown using Ruby. Using the Prince PDF generator, you'll be able to get high quality PDFs. Also supports EPUB, Mobi, Text and HTML generation.
https://github.com/fnando/kitabu
A framework for creating e-books from Markdown using Ruby. Using the Prince PDF generator, you'll be able to get high quality PDFs. Also supports EPUB, Mobi, Text and HTML generation. - fnando/...
- 575Database multi-tenancy for Rack (and Rails) applications
https://github.com/influitive/apartment
Database multi-tenancy for Rack (and Rails) applications - influitive/apartment
- 576A library for bulk insertion of data into your database using ActiveRecord.
https://github.com/zdennis/activerecord-import
A library for bulk insertion of data into your database using ActiveRecord. - zdennis/activerecord-import
- 577Make your long-running sidekiq jobs interruptible and resumable.
https://github.com/fatkodima/sidekiq-iteration
Make your long-running sidekiq jobs interruptible and resumable. - fatkodima/sidekiq-iteration
- 578Better error page for Rack apps
https://github.com/charliesome/better_errors
Better error page for Rack apps. Contribute to BetterErrors/better_errors development by creating an account on GitHub.
- 579scheduler for Ruby (at, in, cron and every jobs)
https://github.com/jmettraux/rufus-scheduler
scheduler for Ruby (at, in, cron and every jobs). Contribute to jmettraux/rufus-scheduler development by creating an account on GitHub.
- 580HTML processing filters and utilities
https://github.com/jch/html-pipeline
HTML processing filters and utilities. Contribute to gjtorikian/html-pipeline development by creating an account on GitHub.
- 581simple process monitoring tool
https://github.com/bluepill-rb/bluepill
simple process monitoring tool. Contribute to bluepill-rb/bluepill development by creating an account on GitHub.
- 582Notifications for Ruby on Rails applications
https://github.com/excid3/noticed
Notifications for Ruby on Rails applications. Contribute to excid3/noticed development by creating an account on GitHub.
- 583A Ruby library that encodes QR Codes
https://github.com/whomwah/rqrcode
A Ruby library that encodes QR Codes. Contribute to whomwah/rqrcode development by creating an account on GitHub.
- 584An acts_as_sortable/acts_as_list replacement built for Rails 4+
https://github.com/mixonic/ranked-model
An acts_as_sortable/acts_as_list replacement built for Rails 4+ - brendon/ranked-model
- 585Organise ActiveRecord model into a tree structure
https://github.com/stefankroes/ancestry
Organise ActiveRecord model into a tree structure. Contribute to stefankroes/ancestry development by creating an account on GitHub.
- 586An ActiveRecord plugin for managing lists.
https://github.com/swanandp/acts_as_list
An ActiveRecord plugin for managing lists. Contribute to brendon/acts_as_list development by creating an account on GitHub.
- 587⚡ A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Ruby webapps
https://github.com/amatsuda/kaminari
⚡ A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Ruby webapps - amatsuda/kaminari
- 588Official repository of the bootstrap_form gem, a Rails form builder that makes it super easy to create beautiful-looking forms using Bootstrap 5.
https://github.com/bootstrap-ruby/rails-bootstrap-forms
Official repository of the bootstrap_form gem, a Rails form builder that makes it super easy to create beautiful-looking forms using Bootstrap 5. - bootstrap-ruby/bootstrap_form
- 589A fully configurable and extendable Git hook manager
https://github.com/brigade/overcommit
A fully configurable and extendable Git hook manager - sds/overcommit
- 590Go faster, off the Rails - Benchmarks for your whole Rails app
https://github.com/schneems/derailed_benchmarks
Go faster, off the Rails - Benchmarks for your whole Rails app - zombocom/derailed_benchmarks
- 591Jekyll • Simple, blog-aware, static sites
https://jekyllrb.com
Transform your plain text into static websites and blogs
- 592Codacy - Code Quality and Security for Developers
https://www.codacy.com
Build clean, secure code efficiently and fearlessly with Codacy Platform.
- 593Ruby on Rails
http://rubyonrails.org
A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
- 594an open source realtime server for reliable two-way communication.
http://anycable.io
We tame realtime and WebSockets, so you can be productive in building any realtime functionality: chats, notifications, typing indicators, presence, cursors, collaboration, data streaming. Built for any backend.
- 595The most-comprehensive AI-powered DevSecOps platform
https://about.gitlab.com
From planning to production, bring teams together in one application. Ship secure code more efficiently to deliver value faster.
- 596Continuous Integration & Delivery - Semaphore
https://semaphoreci.com
Semaphore CI/CD helps product teams deliver software with high standards of quality, security, and efficiency.
- 597Let’s build from here
https://github.com
GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...
- 598Ad Manager SOAP API Client Libraries for Ruby
https://github.com/googleads/google-api-ads-ruby
Ad Manager SOAP API Client Libraries for Ruby. Contribute to googleads/google-api-ads-ruby development by creating an account on GitHub.
- 599Discord API for Ruby
https://github.com/meew0/discordrb
Discord API for Ruby . Contribute to meew0/discordrb development by creating an account on GitHub.
- 600Ruby algorithms and data structures. C extensions
https://github.com/kanwei/algorithms
Ruby algorithms and data structures. C extensions. Contribute to kanwei/algorithms development by creating an account on GitHub.
- 601A GNU Social-compatible microblogging server
https://github.com/Gargron/mastodon
A GNU Social-compatible microblogging server. Contribute to Gargron/mastodon development by creating an account on GitHub.
- 602💎 Ruby SMTP mock. Mimic any 📤 SMTP server behavior for your test environment with fake SMTP server.
https://github.com/mocktools/ruby-smtp-mock
💎 Ruby SMTP mock. Mimic any 📤 SMTP server behavior for your test environment with fake SMTP server. - mocktools/ruby-smtp-mock
- 603Lightweight Ruby web crawler/scraper with an elegant DSL which extracts structured data from pages.
https://github.com/felipecsl/wombat
Lightweight Ruby web crawler/scraper with an elegant DSL which extracts structured data from pages. - felipecsl/wombat
- 604Multidimensional array similar to NumPy and NArray
https://github.com/rbotafogo/mdarray
Multidimensional array similar to NumPy and NArray - rbotafogo/mdarray
- 605A query language for Gherkin
https://github.com/enkessler/cql
A query language for Gherkin. Contribute to enkessler/cql development by creating an account on GitHub.
- 606Simple ElasticSearch client for ruby with AR integration
https://github.com/printercu/elastics-rb
Simple ElasticSearch client for ruby with AR integration - printercu/elastics-rb
- 607A super-slim statemachine-like support library
https://github.com/svenfuchs/simple_states
A super-slim statemachine-like support library. Contribute to svenfuchs/simple_states development by creating an account on GitHub.
- 608Sphinx/Manticore plugin for ActiveRecord/Rails
https://github.com/pat/thinking-sphinx
Sphinx/Manticore plugin for ActiveRecord/Rails. Contribute to pat/thinking-sphinx development by creating an account on GitHub.
- 609Bioruby Statsample TimeSeries
https://github.com/sciruby/statsample-timeseries
Bioruby Statsample TimeSeries. Contribute to SciRuby/statsample-timeseries development by creating an account on GitHub.
- 610Continuous Integration and Delivery
https://about.gitlab.com/gitlab-ci/
Make software delivery repeatable and on-demand
- 611ID3-based implementation of the ML Decision Tree algorithm
https://github.com/igrigorik/decisiontree
ID3-based implementation of the ML Decision Tree algorithm - igrigorik/decisiontree
- 612Faker refactored.
https://github.com/ffaker/ffaker
Faker refactored. Contribute to ffaker/ffaker development by creating an account on GitHub.
- 613Isolated tests in Ruby.
https://github.com/djanowski/cutest
Isolated tests in Ruby. Contribute to djanowski/cutest development by creating an account on GitHub.
- 614Ruby/Numo::NArray - New NArray class library
https://github.com/ruby-numo/numo-narray
Ruby/Numo::NArray - New NArray class library. Contribute to ruby-numo/numo-narray development by creating an account on GitHub.
- 615Rails middleware gem for prerendering javascript-rendered pages on the fly for SEO
https://github.com/prerender/prerender_rails
Rails middleware gem for prerendering javascript-rendered pages on the fly for SEO - prerender/prerender_rails
- 616Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data.
https://github.com/westonganger/spreadsheet_architect
Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data. - westonganger/spreadsheet...
- 617Probability distributions for Ruby.
https://github.com/sciruby/distribution
Probability distributions for Ruby. Contribute to SciRuby/distribution development by creating an account on GitHub.
- 618A PhantomJS driver for Capybara
https://github.com/teampoltergeist/poltergeist
A PhantomJS driver for Capybara. Contribute to teampoltergeist/poltergeist development by creating an account on GitHub.
- 619Q/A based social network
https://github.com/Retrospring/retrospring
Q/A based social network. Contribute to Retrospring/retrospring development by creating an account on GitHub.
- 620webgen - fast, powerful and extensible static website generator
http://webgen.gettalong.org
webgen is a free, fast, powerful and extensible static website generator. Create a (or re-use an existing) website template, add a bunch of content files (in plain HTML or any markup language), throw in some assets and let webgen do the rest!
- 621Power Assert for Ruby
https://github.com/k-tsj/power_assert
Power Assert for Ruby. Contribute to k-tsj/power_assert development by creating an account on GitHub.
- 622A Ruby based DSL for building JMeter test plans
https://github.com/flood-io/ruby-jmeter
A Ruby based DSL for building JMeter test plans. Contribute to flood-io/ruby-jmeter development by creating an account on GitHub.
- 623Red Data Tools
https://github.com/red-data-tools
Data processing tools for Ruby. Red Data Tools has 53 repositories available. Follow their code on GitHub.
- 624Passenger - Enterprise grade web app server for Ruby, Node.js, Python
https://www.phusionpassenger.com
Passenger is a rock-solid, feature-rich web app server that integrates with Apache and Nginx. Serve millions of customers with confidence
- 625Run RSpec tests on multiple cores. Like parallel_tests but with incremental summarized output. Originally extracted from the Discourse and Rubygems source code.
https://github.com/serpapi/turbo_tests
Run RSpec tests on multiple cores. Like parallel_tests but with incremental summarized output. Originally extracted from the Discourse and Rubygems source code. - serpapi/turbo_tests
- 626Implementation of the Trello API for Ruby
https://github.com/jeremytregunna/ruby-trello
Implementation of the Trello API for Ruby. Contribute to jeremytregunna/ruby-trello development by creating an account on GitHub.
- 627A gem to model a Cucumber test suite.
https://github.com/enkessler/cuke_modeler
A gem to model a Cucumber test suite. Contribute to enkessler/cuke_modeler development by creating an account on GitHub.
- 628Ruby: 2 CPUs = 2x Testing Speed for RSpec, Test::Unit and Cucumber
https://github.com/grosser/parallel_tests
Ruby: 2 CPUs = 2x Testing Speed for RSpec, Test::Unit and Cucumber - grosser/parallel_tests
- 629Ruby wrapper for the LinkedIn API
https://github.com/hexgnu/linkedin
Ruby wrapper for the LinkedIn API. Contribute to hexgnu/linkedin development by creating an account on GitHub.
- 630Rails application preloader
https://github.com/rails/spring
Rails application preloader. Contribute to rails/spring development by creating an account on GitHub.
- 631A High Performance HTTP Server for Ruby
https://github.com/ohler55/agoo
A High Performance HTTP Server for Ruby. Contribute to ohler55/agoo development by creating an account on GitHub.
- 632A minimalistic microframework built on top of Rack.
https://github.com/patriciomacadden/hobbit
A minimalistic microframework built on top of Rack. - patriciomacadden/hobbit
- 633Tools for scientific computation in Ruby
https://github.com/sciruby/sciruby
Tools for scientific computation in Ruby. Contribute to SciRuby/sciruby development by creating an account on GitHub.
- 634Ruby Gem for convenient reading and writing of CSV files. It has intelligent defaults, and auto-discovery of column and row separators. It imports CSV Files as Array(s) of Hashes, suitable for direct processing with ActiveRecord, kicking-off batch jobs with Sidekiq, parallel processing, or oploading data to S3. Writing CSV Files is equally easy.
https://github.com/tilo/smarter_csv
Ruby Gem for convenient reading and writing of CSV files. It has intelligent defaults, and auto-discovery of column and row separators. It imports CSV Files as Array(s) of Hashes, suitable for dire...
- 635Simple, Flexible, Trustworthy CI/CD Tools - Travis CI
https://travis-ci.com
Travis CI is the most simple and flexible ci/cd tool available today. Find out how Travis CI can help with continuous integration and continuous delivery.
- 636Official gem repository: Ruby kernel for Jupyter/IPython Notebook
https://github.com/SciRuby/iruby
Official gem repository: Ruby kernel for Jupyter/IPython Notebook - SciRuby/iruby
- 637A batteries-included framework for easy web-scraping. Just add CSS! (Or do more.)
https://github.com/propublica/upton
A batteries-included framework for easy web-scraping. Just add CSS! (Or do more.) - propublica/upton
- 638the 5k pocket full-of-gags web microframework
https://github.com/camping/camping
the 5k pocket full-of-gags web microframework. Contribute to camping/camping development by creating an account on GitHub.
- 639Get video info from Dailymotion, Vimeo, Wistia, and YouTube URLs.
https://github.com/thibaudgg/video_info
Get video info from Dailymotion, Vimeo, Wistia, and YouTube URLs. - thibaudgg/video_info
- 640Buff is a Ruby Wrapper for the Buffer API
https://github.com/bufferapp/buffer-ruby
Buff is a Ruby Wrapper for the Buffer API. Contribute to bufferapp/buffer-ruby development by creating an account on GitHub.
- 641Ruby gem that fetches images and metadata from a given URL. Much like popular social website with link preview.
https://github.com/gottfrois/link_thumbnailer
Ruby gem that fetches images and metadata from a given URL. Much like popular social website with link preview. - gottfrois/link_thumbnailer
- 642Ruby wrapper and CLI for the GitLab REST API
https://github.com/NARKOZ/gitlab
Ruby wrapper and CLI for the GitLab REST API. Contribute to NARKOZ/gitlab development by creating an account on GitHub.
- 643Automated code reviews via mutation testing - semantic code coverage.
https://github.com/mbj/mutant
Automated code reviews via mutation testing - semantic code coverage. - mbj/mutant
- 644Collection of filters that transform plain text into HTML code.
https://github.com/dejan/auto_html
Collection of filters that transform plain text into HTML code. - dejan/auto_html
- 645A very fast & simple Ruby web server
https://github.com/macournoyer/thin
A very fast & simple Ruby web server. Contribute to macournoyer/thin development by creating an account on GitHub.
- 646Dense and sparse linear algebra library for Ruby via SciRuby
https://github.com/sciruby/nmatrix
Dense and sparse linear algebra library for Ruby via SciRuby - SciRuby/nmatrix
- 647Ruby library for Pusher Channels HTTP API
https://github.com/pusher/pusher-http-ruby
Ruby library for Pusher Channels HTTP API. Contribute to pusher/pusher-http-ruby development by creating an account on GitHub.
- 648Rails view helper to manage "active" state of a link
https://github.com/comfy/active_link_to
Rails view helper to manage "active" state of a link - comfy/active_link_to
- 649A Rubyesque interface to Gmail. Connect to Gmail via IMAP and manipulate emails and labels. Send email with your Gmail account via SMTP. Includes full support for parsing and generating MIME messages.
https://github.com/dcparker/ruby-gmail
A Rubyesque interface to Gmail. Connect to Gmail via IMAP and manipulate emails and labels. Send email with your Gmail account via SMTP. Includes full support for parsing and generating MIME messag...
- 650Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
https://github.com/vcr/vcr
Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. - vcr/vcr
- 651A Ruby wrapper for the Slack API
https://github.com/aki017/slack-ruby-gem
A Ruby wrapper for the Slack API. Contribute to aki017/slack-ruby-gem development by creating an account on GitHub.
- 652nov/fb_graph2
https://github.com/nov/fb_graph2
Contribute to nov/fb_graph2 development by creating an account on GitHub.
- 653Specing framework.
https://github.com/fixrb/fix
Specing framework. Contribute to fixrb/fix development by creating an account on GitHub.
- 654TorqueBox Ruby Platform
https://github.com/torquebox/torquebox
TorqueBox Ruby Platform. Contribute to torquebox/torquebox development by creating an account on GitHub.
- 655Page-specific javascript for Rails applications with the ability of passing data.
https://github.com/peresleguine/pluggable_js
Page-specific javascript for Rails applications with the ability of passing data. - peresleguine/pluggable_js
- 656A platform for community discussion. Free, open, simple.
https://github.com/discourse/discourse
A platform for community discussion. Free, open, simple. - discourse/discourse
- 657BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters
https://github.com/igrigorik/bloomfilter-rb
BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters - GitHub - igrigorik/bloomfilter-rb: BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counti...
- 658Generalized Linear Models extension for Statsample
https://github.com/sciruby/statsample-glm
Generalized Linear Models extension for Statsample - SciRuby/statsample-glm
- 659Ruby gem for web scraping purposes. It scrapes a given URL, and returns you its title, meta description, meta keywords, links, images...
https://github.com/jaimeiniesta/metainspector
Ruby gem for web scraping purposes. It scrapes a given URL, and returns you its title, meta description, meta keywords, links, images... - jaimeiniesta/metainspector
- 660A versatile Ruby web spidering library that can spider a site, multiple domains, certain links or infinitely. Spidr is designed to be fast and easy to use.
https://github.com/postmodern/spidr
A versatile Ruby web spidering library that can spider a site, multiple domains, certain links or infinitely. Spidr is designed to be fast and easy to use. - postmodern/spidr
- 661HipChat HTTP API Wrapper in Ruby with Capistrano hooks
https://github.com/hipchat/hipchat-rb
HipChat HTTP API Wrapper in Ruby with Capistrano hooks - hipchat/hipchat-rb
- 662Ruby client for the Wikipedia API
https://github.com/kenpratt/wikipedia-client
Ruby client for the Wikipedia API. Contribute to kenpratt/wikipedia-client development by creating an account on GitHub.
- 663Easy and customizable generation of forged data.
https://github.com/sevenwire/forgery
Easy and customizable generation of forged data. Contribute to sevenwire/forgery development by creating an account on GitHub.
- 664The advanced business logic framework for Ruby.
https://github.com/trailblazer/trailblazer
The advanced business logic framework for Ruby. Contribute to trailblazer/trailblazer development by creating an account on GitHub.
- 665Mechanize is a ruby library that makes automated web interaction easy.
https://github.com/sparklemotion/mechanize
Mechanize is a ruby library that makes automated web interaction easy. - sparklemotion/mechanize
- 666You can easily make Slack Bot!! :star:
https://github.com/kciter/simple-slack-bot
You can easily make Slack Bot!! :star:. Contribute to kciter/simple-slack-bot development by creating an account on GitHub.
- 667View components for Ruby and Rails.
https://github.com/trailblazer/cells
View components for Ruby and Rails. Contribute to trailblazer/cells development by creating an account on GitHub.
- 668Map incoming controller parameters to named scopes in your resources
https://github.com/heartcombo/has_scope
Map incoming controller parameters to named scopes in your resources - heartcombo/has_scope
- 669roots gem
https://github.com/jzakiya/roots
roots gem. Contribute to jzakiya/roots development by creating an account on GitHub.
- 670Ruby & C implementation of Jaro-Winkler distance algorithm which supports UTF-8 string.
https://github.com/tonytonyjan/jaro_winkler
Ruby & C implementation of Jaro-Winkler distance algorithm which supports UTF-8 string. - tonytonyjan/jaro_winkler
- 671Upload and manage your assets in the iTunes Store using the iTunes Store’s Transporter (iTMSTransporter).
https://github.com/sshaw/itunes_store_transporter
Upload and manage your assets in the iTunes Store using the iTunes Store’s Transporter (iTMSTransporter). - GitHub - sshaw/itunes_store_transporter: Upload and manage your assets in the iTunes St...
- 672Terjira is a very interactive and easy to use CLI tool for Jira.
https://github.com/keepcosmos/terjira
Terjira is a very interactive and easy to use CLI tool for Jira. - keepcosmos/terjira
- 673HTML Abstraction Markup Language - A Markup Haiku
https://github.com/haml/haml
HTML Abstraction Markup Language - A Markup Haiku. Contribute to haml/haml development by creating an account on GitHub.
- 674run all your test against a GitHub Pull request
https://github.com/openSUSE/gitarro
run all your test against a GitHub Pull request. Contribute to openSUSE/gitarro development by creating an account on GitHub.
- 675Custom Emoji Formatters for RSpec
https://github.com/cupakromer/emoji-rspec
Custom Emoji Formatters for RSpec. Contribute to cupakromer/emoji-rspec development by creating an account on GitHub.
- 676Simple yet powerful ruby ffmpeg wrapper for reading metadata and transcoding movies
https://github.com/streamio/streamio-ffmpeg
Simple yet powerful ruby ffmpeg wrapper for reading metadata and transcoding movies - streamio/streamio-ffmpeg
- 677Simple router for web applications
https://github.com/soveran/syro/
Simple router for web applications. Contribute to soveran/syro development by creating an account on GitHub.
- 678An update of Scott Raymond's insanely easy flickr library
https://github.com/RaVbaker/flickr
An update of Scott Raymond's insanely easy flickr library - RaVbaker/flickr
- 679Generic interface to multiple Ruby template engines
https://github.com/rtomayko/tilt
Generic interface to multiple Ruby template engines - rtomayko/tilt
- 680Minimization algorithms on pure Ruby
https://github.com/sciruby/minimization
Minimization algorithms on pure Ruby. Contribute to SciRuby/minimization development by creating an account on GitHub.
- 681bioruby
https://github.com/bioruby/bioruby
bioruby. Contribute to bioruby/bioruby development by creating an account on GitHub.
- 682Application Monitoring for Ruby on Rails, Elixir, Node.js & Python
https://appsignal.com
AppSignal APM offers error tracking, performance monitoring, dashboards, host metrics, and alerts. Built for Ruby, Ruby on Rails, Elixir, Node.js, and JavaScript.
- 683A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
https://github.com/travisjeffery/timecop
A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to moc...
- 684Official SoundCloud API Wrapper for Ruby.
https://github.com/soundcloud/soundcloud-ruby
Official SoundCloud API Wrapper for Ruby. Contribute to soundcloud/soundcloud-ruby development by creating an account on GitHub.
- 685Your Rails variables in your JS
https://github.com/gazay/gon
Your Rails variables in your JS. Contribute to gazay/gon development by creating an account on GitHub.
- 686An Automatic Automated Test Writer
https://github.com/Nedomas/zapata
An Automatic Automated Test Writer. Contribute to Nedomas/zapata development by creating an account on GitHub.
- 687Open Pusher implementation compatible with Pusher libraries
https://github.com/stevegraham/slanger
Open Pusher implementation compatible with Pusher libraries - stevegraham/slanger
- 688Nyan Cat inspired RSpec formatter!
https://github.com/mattsears/nyan-cat-formatter
Nyan Cat inspired RSpec formatter! Contribute to mattsears/nyan-cat-formatter development by creating an account on GitHub.
- 689The Ruby bindings of Groonga.
https://github.com/ranguba/rroonga
The Ruby bindings of Groonga. Contribute to ranguba/rroonga development by creating an account on GitHub.
- 690Create some fake personalities
https://github.com/adamcooke/fake-person
Create some fake personalities. Contribute to adamcooke/fake-person development by creating an account on GitHub.
- 691CMS/LMS/Library etc Versions Fingerprinter
https://github.com/erwanlr/Fingerprinter
CMS/LMS/Library etc Versions Fingerprinter. Contribute to erwanlr/Fingerprinter development by creating an account on GitHub.
- 692A general classifier module to allow Bayesian and other types of classifications. A fork of cardmagic/classifier.
https://github.com/jekyll/classifier-reborn
A general classifier module to allow Bayesian and other types of classifications. A fork of cardmagic/classifier. - jekyll/classifier-reborn
- 693Watir Powered By Selenium
https://github.com/watir/watir/
Watir Powered By Selenium. Contribute to watir/watir development by creating an account on GitHub.
- 694A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
https://github.com/socketry/falcon
A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS. - socketry/falcon
- 695Easily search you ActiveRecord models with a simple query language that converts to SQL.
https://github.com/wvanbergen/scoped_search
Easily search you ActiveRecord models with a simple query language that converts to SQL. - wvanbergen/scoped_search
- 696Build software better, together
https://github.com/rspec/rspec
GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
- 697State machine extracted from ActiveModel
https://github.com/troessner/transitions
State machine extracted from ActiveModel. Contribute to troessner/transitions development by creating an account on GitHub.
- 698Minimal Finite State Machine
https://github.com/soveran/micromachine
Minimal Finite State Machine. Contribute to soveran/micromachine development by creating an account on GitHub.
- 699Small library to test your xml with Test::Unit or RSpec
https://github.com/alovak/test_xml
Small library to test your xml with Test::Unit or RSpec - alovak/test_xml
- 700:key: Hash type identifier (CLI & lib)
https://github.com/noraj/haiti
:key: Hash type identifier (CLI & lib). Contribute to noraj/haiti development by creating an account on GitHub.
- 701Check how many times url was shared in social networks, e.g. share counts
https://github.com/Timrael/social_shares
Check how many times url was shared in social networks, e.g. share counts - Timrael/social_shares
- 702RGL is a framework for graph data structures and algorithms in Ruby.
https://github.com/monora/rgl
RGL is a framework for graph data structures and algorithms in Ruby. - monora/rgl
- 703The instafailing RSpec progress bar formatter
https://github.com/thekompanee/fuubar
The instafailing RSpec progress bar formatter. Contribute to thekompanee/fuubar development by creating an account on GitHub.
- 704Object-based searching.
https://github.com/activerecord-hackery/ransack/
Object-based searching. . Contribute to activerecord-hackery/ransack development by creating an account on GitHub.
- 705Ruby client library SDK for Ably realtime messaging service
https://github.com/ably/ably-ruby
Ruby client library SDK for Ably realtime messaging service - ably/ably-ruby
- 706A simple EventMachine-based library for consuming Twitter's Streaming API.
https://github.com/tweetstream/tweetstream
A simple EventMachine-based library for consuming Twitter's Streaming API. - tweetstream/tweetstream
- 707A Rubyesque interface to Gmail, with all the tools you'll need.
https://github.com/gmailgem/gmail
A Rubyesque interface to Gmail, with all the tools you'll need. - gmailgem/gmail
- 708Liquid markup language. Safe, customer facing template language for flexible web apps.
https://github.com/Shopify/liquid
Liquid markup language. Safe, customer facing template language for flexible web apps. - GitHub - Shopify/liquid: Liquid markup language. Safe, customer facing template language for flexible web a...
- 709Metasploit Framework
https://github.com/rapid7/metasploit-framework
Metasploit Framework. Contribute to rapid7/metasploit-framework development by creating an account on GitHub.
- 710Easily include static pages in your Rails app.
https://github.com/thoughtbot/high_voltage
Easily include static pages in your Rails app. Contribute to thoughtbot/high_voltage development by creating an account on GitHub.
- 711Textacular exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular will extend ActiveRecord with named_scope methods making searching easy and fun!
https://github.com/textacular/textacular
Textacular exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular will extend ActiveRecord with named_scope methods making searching easy and...
- 712Pipal, THE password analyser
https://github.com/digininja/pipal
Pipal, THE password analyser. Contribute to digininja/pipal development by creating an account on GitHub.
- 713primes-utils rubygem
https://github.com/jzakiya/primes-utils
primes-utils rubygem. Contribute to jzakiya/primes-utils development by creating an account on GitHub.
- 714Development tool to mock API endpoints quickly and easily (docker image available)
https://github.com/iridakos/duckrails
Development tool to mock API endpoints quickly and easily (docker image available) - iridakos/duckrails
- 715Logic-less Ruby templates.
https://github.com/mustache/mustache
Logic-less Ruby templates. Contribute to mustache/mustache development by creating an account on GitHub.
- 716A suite for basic and advanced statistics on Ruby.
https://github.com/sciruby/statsample
A suite for basic and advanced statistics on Ruby. - SciRuby/statsample
- 717A Ruby library for testing your library against different versions of dependencies.
https://github.com/thoughtbot/appraisal
A Ruby library for testing your library against different versions of dependencies. - thoughtbot/appraisal
- 718Calling Python functions from the Ruby language
https://github.com/mrkn/pycall.rb
Calling Python functions from the Ruby language. Contribute to mrkn/pycall.rb development by creating an account on GitHub.
- 719A library for setting up Ruby objects as test data.
https://github.com/thoughtbot/factory_bot
A library for setting up Ruby objects as test data. - thoughtbot/factory_bot
- 720Versioned fork of the OpenCV gem for Ruby
https://github.com/ruby-opencv/ruby-opencv
Versioned fork of the OpenCV gem for Ruby. Contribute to ruby-opencv/ruby-opencv development by creating an account on GitHub.
- 721FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.
https://github.com/norman/friendly_id
FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids fo...
- 722A lightweight, efficient Ruby gem for interacting with Whatsapp Cloud API.
https://github.com/ignacio-chiazzo/ruby_whatsapp_sdk
A lightweight, efficient Ruby gem for interacting with Whatsapp Cloud API. - ignacio-chiazzo/ruby_whatsapp_sdk
- 723minimalist framework for building rack applications
https://github.com/rack-app/rack-app
minimalist framework for building rack applications - rack-app/rack-app
- 724render_async lets you include pages asynchronously with AJAX
https://github.com/renderedtext/render_async
render_async lets you include pages asynchronously with AJAX - renderedtext/render_async
- 725DNS mock server written on 💎 Ruby. Mimic any DNS records for your test environment with fake DNS server.
https://github.com/mocktools/ruby-dns-mock
DNS mock server written on 💎 Ruby. Mimic any DNS records for your test environment with fake DNS server. - mocktools/ruby-dns-mock
- 726A privacy-aware, distributed, open source social network.
https://github.com/diaspora/diaspora
A privacy-aware, distributed, open source social network. - diaspora/diaspora
- 727An opinionated way of organizing front-end code in Ruby on Rails, based on components
https://github.com/komposable/komponent
An opinionated way of organizing front-end code in Ruby on Rails, based on components - komposable/komponent
- 728A Ruby gem for communicating with the Twilio API and generating TwiML
https://github.com/twilio/twilio-ruby
A Ruby gem for communicating with the Twilio API and generating TwiML - twilio/twilio-ruby
- 729Ruby client library for Dropbox API v2
https://github.com/Jesus/dropbox_api
Ruby client library for Dropbox API v2. Contribute to Jesus/dropbox_api development by creating an account on GitHub.
- 730A framework for building object-oriented views in Ruby.
https://github.com/joeldrapper/phlex
A framework for building object-oriented views in Ruby. - phlex-ruby/phlex
- 731A Rails gem to send messages inside a web application
https://github.com/mailboxer/mailboxer
A Rails gem to send messages inside a web application - mailboxer/mailboxer
- 732A collection of awesome Jekyll goodies (tools, templates, plugins, guides, etc.)
https://github.com/planetjekyll/awesome-jekyll
A collection of awesome Jekyll goodies (tools, templates, plugins, guides, etc.) - planetjekyll/awesome-jekyll
- 733RR is a test double framework that features a rich selection of double techniques and a terse syntax. ⛺
https://github.com/rr/rr
RR is a test double framework that features a rich selection of double techniques and a terse syntax. ⛺ - rr/rr
- 734Use simple commands on the server to control client browsers in real-time
https://github.com/hopsoft/cable_ready
Use simple commands on the server to control client browsers in real-time - stimulusreflex/cable_ready
- 735Bootstrap Helpers for Ruby
https://github.com/fullscreen/bh
Bootstrap Helpers for Ruby. Contribute to nullscreen/bh development by creating an account on GitHub.
- 736A Ruby interface to the Twitter API.
https://github.com/sferik/twitter
A Ruby interface to the Twitter API. Contribute to sferik/twitter-ruby development by creating an account on GitHub.
- 737Next generation web scanner
https://github.com/urbanadventurer/WhatWeb
Next generation web scanner. Contribute to urbanadventurer/WhatWeb development by creating an account on GitHub.
- 738The official gem for the Instagram API
https://github.com/Instagram/instagram-ruby-gem
The official gem for the Instagram API. Contribute to facebookarchive/instagram-ruby-gem development by creating an account on GitHub.
- 739Ruby integrations for Elasticsearch
https://github.com/elastic/elasticsearch-ruby
Ruby integrations for Elasticsearch. Contribute to elastic/elasticsearch-ruby development by creating an account on GitHub.
- 740Manages application of security headers with many safe defaults
https://github.com/twitter/secureheaders
Manages application of security headers with many safe defaults - github/secure_headers
- 741Test command-line applications with Cucumber-Ruby, RSpec or Minitest.
https://github.com/cucumber/aruba
Test command-line applications with Cucumber-Ruby, RSpec or Minitest. - cucumber/aruba
- 742Patch-level verification for Bundler
https://github.com/rubysec/bundler-audit
Patch-level verification for Bundler. Contribute to rubysec/bundler-audit development by creating an account on GitHub.
- 743Build realtime Ruby web applications. Created by the fine folks at Poll Everywhere.
https://github.com/firehoseio/firehose
Build realtime Ruby web applications. Created by the fine folks at Poll Everywhere. - firehoseio/firehose
- 744Principled Test Framework for Ruby and MRuby
https://github.com/test-bench/test-bench
Principled Test Framework for Ruby and MRuby. Contribute to test-bench/test-bench development by creating an account on GitHub.
- 745a small RSpec clone
https://github.com/chneukirchen/bacon
a small RSpec clone. Contribute to leahneukirchen/bacon development by creating an account on GitHub.
- 746A framework for building reusable, testable & encapsulated view components in Ruby on Rails.
https://github.com/github/view_component
A framework for building reusable, testable & encapsulated view components in Ruby on Rails. - ViewComponent/view_component
- 747xlsx generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.
https://github.com/randym/axlsx
xlsx generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents...
- 748The participatory democracy framework. A generator and multiple gems made with Ruby on Rails
https://github.com/decidim/decidim
The participatory democracy framework. A generator and multiple gems made with Ruby on Rails - decidim/decidim
- 749A Ruby-based framework for acceptance testing
https://github.com/strongqa/howitzer
A Ruby-based framework for acceptance testing. Contribute to strongqa/howitzer development by creating an account on GitHub.
- 750A simple wrapper for posting to slack channels
https://github.com/stevenosloan/slack-notifier
A simple wrapper for posting to slack channels. Contribute to slack-notifier/slack-notifier development by creating an account on GitHub.
- 751xlsx generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.
https://github.com/caxlsx/caxlsx
xlsx generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents...
- 752A Ruby/Rack web server built for parallelism
https://github.com/puma/puma
A Ruby/Rack web server built for parallelism. Contribute to puma/puma development by creating an account on GitHub.
- 753Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database.
https://github.com/zeisler/active_mocker
Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database. - zeisler/active_mocker
- 754Roo provides an interface to spreadsheets of several sorts.
https://github.com/roo-rb/roo
Roo provides an interface to spreadsheets of several sorts. - roo-rb/roo
- 755Ronin is a Free and Open Source Ruby Toolkit for Security Research and Development. Ronin also allows for the rapid development and distribution of code, exploits, payloads, etc, via 3rd-party git repositories.
https://github.com/ronin-rb/ronin
Ronin is a Free and Open Source Ruby Toolkit for Security Research and Development. Ronin also allows for the rapid development and distribution of code, exploits, payloads, etc, via 3rd-party git ...
- 756selenium/rb at trunk · SeleniumHQ/selenium
https://github.com/SeleniumHQ/selenium/tree/master/rb
A browser automation framework and ecosystem. Contribute to SeleniumHQ/selenium development by creating an account on GitHub.
- 757Rack middleware for blocking & throttling
https://github.com/kickstarter/rack-attack
Rack middleware for blocking & throttling. Contribute to rack/rack-attack development by creating an account on GitHub.
- 758The Curly template language allows separating your logic from the structure of your HTML templates.
https://github.com/zendesk/curly
The Curly template language allows separating your logic from the structure of your HTML templates. - zendesk/curly
- 759Spinach is a BDD framework on top of Gherkin.
https://github.com/codegram/spinach
Spinach is a BDD framework on top of Gherkin. Contribute to codegram/spinach development by creating an account on GitHub.
- 760Software Engineering Intelligence
https://codeclimate.com
Code Climate's industry-leading Software Engineering Intelligence platform helps unlock the full potential of your organization to ship better code,…
- 761A mocking and stubbing library for Ruby
https://github.com/freerange/mocha
A mocking and stubbing library for Ruby. Contribute to freerange/mocha development by creating an account on GitHub.
- 762Search engine like fulltext query support for ActiveRecord
https://github.com/mrkamel/search_cop
Search engine like fulltext query support for ActiveRecord - mrkamel/search_cop
- 763sinatra/rack-protection at main · sinatra/sinatra
https://github.com/sinatra/sinatra/tree/master/rack-protection
Classy web-development dressed in a DSL (official / canonical repo) - sinatra/sinatra
- 764Simple one-liner tests for common Rails functionality
https://github.com/thoughtbot/shoulda-matchers
Simple one-liner tests for common Rails functionality - thoughtbot/shoulda-matchers
- 765A next-generation progressive site generator & fullstack framework, powered by Ruby
https://github.com/bridgetownrb/bridgetown
A next-generation progressive site generator & fullstack framework, powered by Ruby - bridgetownrb/bridgetown
- 766A Ruby client for the Notion API
https://github.com/orbit-love/notion-ruby-client
A Ruby client for the Notion API. Contribute to phacks/notion-ruby-client development by creating an account on GitHub.
- 767Data Analysis in RUby
https://github.com/v0dro/daru
Data Analysis in RUby. Contribute to SciRuby/daru development by creating an account on GitHub.
- 768OctoLinker — Links together, what belongs together
https://github.com/OctoLinker/browser-extension
OctoLinker — Links together, what belongs together - OctoLinker/OctoLinker
- 769iodine - HTTP / WebSockets Server for Ruby with Pub/Sub support
https://github.com/boazsegev/iodine
iodine - HTTP / WebSockets Server for Ruby with Pub/Sub support - boazsegev/iodine
- 770A statesmanlike state machine library.
https://github.com/gocardless/statesman
A statesmanlike state machine library. Contribute to gocardless/statesman development by creating an account on GitHub.
- 771Ruby finite-state-machine-inspired API for modeling workflow
https://github.com/geekq/workflow
Ruby finite-state-machine-inspired API for modeling workflow - geekq/workflow
- 772The reliable YouTube API Ruby client
https://github.com/Fullscreen/yt
The reliable YouTube API Ruby client. Contribute to nullscreen/yt development by creating an account on GitHub.
- 773A home for issues that are common to multiple cucumber repositories
https://github.com/cucumber/cucumber
A home for issues that are common to multiple cucumber repositories - cucumber/common
- 774Adds support for creating state machines for attributes on any Ruby class
https://github.com/state-machines/state_machines
Adds support for creating state machines for attributes on any Ruby class - state-machines/state_machines
- 775A command-line power tool for Twitter.
https://github.com/sferik/t
A command-line power tool for Twitter. Contribute to sferik/t-ruby development by creating an account on GitHub.
- 776Simple full text search for Mongoid ORM
https://github.com/mauriciozaffari/mongoid_search
Simple full text search for Mongoid ORM. Contribute to mongoid/mongoid_search development by creating an account on GitHub.
- 777Search Engine Optimization (SEO) for Ruby on Rails applications.
https://github.com/kpumuk/meta-tags
Search Engine Optimization (SEO) for Ruby on Rails applications. - kpumuk/meta-tags
- 778The best Rails forums engine ever.
https://github.com/thredded/thredded
The best Rails forums engine ever. Contribute to thredded/thredded development by creating an account on GitHub.
- 779daru-view is for easy and interactive plotting in web application & IRuby notebook. daru-view is a plugin gem to the existing daru gem.
https://github.com/SciRuby/daru-view
daru-view is for easy and interactive plotting in web application & IRuby notebook. daru-view is a plugin gem to the existing daru gem. - SciRuby/daru-view
- 780Tools to transcode, inspect and convert videos.
https://github.com/donmelton/video_transcoding
Tools to transcode, inspect and convert videos. Contribute to lisamelton/video_transcoding development by creating an account on GitHub.
- 781Wraith — A responsive screenshot comparison tool
https://github.com/BBC-News/wraith
Wraith — A responsive screenshot comparison tool. Contribute to bbc/wraith development by creating an account on GitHub.
- 782Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time.
https://github.com/ArturT/knapsack
Knapsack splits tests evenly across parallel CI nodes to run fast CI build and save you time. - KnapsackPro/knapsack
- 783pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search
https://github.com/Casecommons/pg_search
pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search - GitHub - Casecommons/pg_search: pg_search builds ActiveRecord named scopes that take advantage of ...
- 784Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
https://github.com/slim-template/slim
Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic. - slim-template/slim
- 785Fast, simple, configurable photo portfolio website generator
https://github.com/henrylawson/photish
Fast, simple, configurable photo portfolio website generator - henrylawson/photish
- 786Library for stubbing and setting expectations on HTTP requests in Ruby.
https://github.com/bblimke/webmock
Library for stubbing and setting expectations on HTTP requests in Ruby. - bblimke/webmock
- 787Acceptance test framework for web applications
https://github.com/teamcapybara/capybara
Acceptance test framework for web applications. Contribute to teamcapybara/capybara development by creating an account on GitHub.
- 788SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic Rails integration. It supports Video, News, Image, Mobile, PageMap and Alternate Links sitemap extensions and includes Rake tasks for managing your sitemaps, as well as many other great features.
https://github.com/kjvarga/sitemap_generator
SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic Rails integration. It supports Video, News, Image, Mobile, PageMap and Alternate Links sitemap extensio...
- 789Build reactive applications with the Rails tooling you already know and love.
https://github.com/hopsoft/stimulus_reflex
Build reactive applications with the Rails tooling you already know and love. - stimulusreflex/stimulus_reflex
- 790High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client
https://github.com/toptal/chewy
High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client - toptal/chewy
- 791AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)
https://github.com/aasm/aasm
AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid) - aasm/aasm
- 792Solr-powered search for Ruby objects
https://github.com/sunspot/sunspot
Solr-powered search for Ruby objects. Contribute to sunspot/sunspot development by creating an account on GitHub.
- 793Headless Chrome Ruby API
https://github.com/rubycdp/ferrum
Headless Chrome Ruby API. Contribute to rubycdp/ferrum development by creating an account on GitHub.
- 794A minimal finite state machine with a straightforward syntax.
https://github.com/peter-murach/finite_machine
A minimal finite state machine with a straightforward syntax. - piotrmurach/finite_machine
- 795A library for generating fake data such as names, addresses, and phone numbers.
https://github.com/stympy/faker
A library for generating fake data such as names, addresses, and phone numbers. - faker-ruby/faker
- 796A Ruby client for the Salesforce REST API.
https://github.com/ejholmes/restforce
A Ruby client for the Salesforce REST API. Contribute to restforce/restforce development by creating an account on GitHub.
- 797minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
https://github.com/seattlerb/minitest
minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking. - minitest/minitest
- 798Intelligent search made easy
https://github.com/ankane/searchkick
Intelligent search made easy. Contribute to ankane/searchkick development by creating an account on GitHub.
- 799Kimurai is a modern web scraping framework written in Ruby which works out of box with Headless Chromium/Firefox, PhantomJS, or simple HTTP requests and allows to scrape and interact with JavaScript rendered websites
https://github.com/vifreefly/kimuraframework
Kimurai is a modern web scraping framework written in Ruby which works out of box with Headless Chromium/Firefox, PhantomJS, or simple HTTP requests and allows to scrape and interact with JavaScrip...
Related Articlesto learn about angular.
- 1Getting Started with Ruby, An Absolute Beginner's Guide
- 2Mastering Object-Oriented Programming in Ruby
- 3Building Web Applications with Ruby on Rails
- 4Ruby on Rails API Development: Building and Securing RESTful APIs
- 5Exploring Metaprogramming in Ruby: Dynamic Code at Runtime
- 6Ruby Blocks, Procs, and Lambdas Explained: Ruby’s Closures
- 7Optimizing Ruby Code: Tips for Boosting Ruby Application Performance
- 8Concurrency in Ruby: An Introduction to Threads, Fibers, and Actors
- 9Building a Simple Ruby Gem: From Concept to Publication
- 10Real-Time Applications in Ruby: Building a WebSocket-Based Chat App
FAQ'sto learn more about Angular JS.
mail [email protected] to add more queries here 🔍.
- 1
when was ruby language created
- 2
how popular is ruby programming
- 3
what is ruby programming language
- 4
why use ruby programming language
- 5
who uses ruby programming language
- 6
is ruby harder than python
- 7
- 8
what is ruby programming language used for
- 9
why is ruby important in programming
- 10
is ruby programming language
- 11
what is the purpose of ruby programming language
- 12
why ruby on rails
- 13
was ruby sparks real
- 14
what is ruby programming language good for
- 15
where ruby is used
- 16
who invented ruby programming language
- 17
where is ruby programming used
- 18
is ruby a programming language
- 19
who developed ruby programming language
- 20
will ruby be useful
- 21
who owns ruby programming language
- 22
what can you do with ruby programming language
- 23
are ruby and python similar
- 24
is ruby easier than python
- 25
why was ruby created
- 26
does ruby really work
- 27
what is ruby programming
- 28
what is ruby used for programming
- 29
what can i do with ruby programming language
- 30
what can ruby do
- 31
is ruby programming language easy to learn
- 32
how to learn ruby programming language
- 33
why ruby is better than python
- 34
what is a ruby developer
- 35
when was ruby programming language created
- 36
what type of programming language is ruby
- 38
was ruby good in supernatural
- 39
is ruby a popular programming language
- 40
what is ruby software used for
- 41
what are the principles of ruby programming language
- 42
should i learn ruby
- 43
is ruby programming language good
- 44
how is ruby used
- 45
what happened to ruby programming language
- 46
when was ruby created
- 47
is ruby programming language dead
- 48
who created ruby
- 49
why to use ruby on web development
- 50
what is ruby good for programming
- 51
when was ruby invented
- 52
how hard is ruby programming language
- 53
what is ruby programming used for
- 54
are ruby developers in demand
- 55
when ruby developed
- 56
where to learn ruby programming language
- 57
how popular is ruby programming language
- 58
what is the ruby programming language
- 59
where does ruby chocolate come from
- 60
how old is ruby programming language
- 61
did ruby die in wentworth
- 62
- 63
how to use ruby programming language
- 64
should i learn ruby on rails
- 65
is ruby a good programming language
- 66
what is ruby used for in programming
- 67
what happened to ruby language
- 68
what is the ruby programming language used for
- 69
what language does ruby use
- 70
what does ruby do programming
- 71
- 72
what is a ruby gem programming
- 73
does ruby protect you
- 74
are ruby javascript and python interpreted languages
More Sitesto check out once you're finished browsing here.
https://www.0x3d.site/
0x3d is designed for aggregating information.
https://nodejs.0x3d.site/
NodeJS Online Directory
https://cross-platform.0x3d.site/
Cross Platform Online Directory
https://open-source.0x3d.site/
Open Source Online Directory
https://analytics.0x3d.site/
Analytics Online Directory
https://javascript.0x3d.site/
JavaScript Online Directory
https://golang.0x3d.site/
GoLang Online Directory
https://python.0x3d.site/
Python Online Directory
https://swift.0x3d.site/
Swift Online Directory
https://rust.0x3d.site/
Rust Online Directory
https://scala.0x3d.site/
Scala Online Directory
https://ruby.0x3d.site/
Ruby Online Directory
https://clojure.0x3d.site/
Clojure Online Directory
https://elixir.0x3d.site/
Elixir Online Directory
https://elm.0x3d.site/
Elm Online Directory
https://lua.0x3d.site/
Lua Online Directory
https://c-programming.0x3d.site/
C Programming Online Directory
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
https://r-programming.0x3d.site/
R Programming Online Directory
https://perl.0x3d.site/
Perl Online Directory
https://java.0x3d.site/
Java Online Directory
https://kotlin.0x3d.site/
Kotlin Online Directory
https://php.0x3d.site/
PHP Online Directory
https://react.0x3d.site/
React JS Online Directory
https://angular.0x3d.site/
Angular JS Online Directory