Project Awesome project awesome

Ruby

Collection 14.1k stars GitHub

Contents

API Builder and Discovery

ActiveModel::Serializers 5.3k updated 3mo ago

JSON serialization of objects.

Acts_As_Api 504 updated 5y ago

Easy And Fun, in creating XML/JSON responses in Rails 3,4,5 and 6.

Alba 1.2k updated yesterday

A JSON serializer for Ruby, JRuby and TruffleRuby.

Blanket 459 updated 4y ago

A dead simple API wrapper.

Blueprinter 1.3k updated 2d ago

Simple, Fast, and Declarative Serialization Library for Ruby.

cache_crispies 163 updated 1y ago

Speedy Rails JSON serialization with built-in caching.

Crepe 129 updated 8y ago

The thin API stack.

EasyTalk 92 updated 16d ago

Define structured data models with a DSL that generates JSON Schema and ActiveModel validations from a single source of truth.

Her 2.1k updated 1y ago

an ORM that maps REST resources to Ruby objects. Designed to build applications that are powered by a RESTful API instead of a database.

jbuilder 4.4k updated 1mo ago

Create JSON structures via a Builder-style DSL.

jsonapi-serializer 1.4k updated 2mo ago

A fast JSON:API serializer for Ruby Objects.

JSONAPI::Resources updated 21d ago

JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.

JSONAPI::Utils 213 updated 3y ago

JSONAPI::Utils is built on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing an easy way to build modern JSON APIs with no or less learning curve.

Jsonite 28 updated 11y ago

A tiny, HAL-compliant JSON presenter for your APIs.

Pliny 804 updated 1mo ago

Opinionated template Sinatra app for writing excellent APIs in Ruby.

rabl 3.6k updated 6d ago

General ruby templating with json, bson, xml, plist and msgpack support.

Roar 1.8k updated 3y ago

Resource-Oriented Architectures in Ruby.

Spyke 903 updated 4mo ago

Interact with REST services in an ActiveRecord-like manner.

Version Cake 653 updated 3y ago

An unobtrusive way to version APIs in your Rails app.

versionist

A plugin for versioning Rails based RESTful APIs.

Code Analysis and Metrics

Brakeman 7.2k updated 26d ago

A static analysis security vulnerability scanner for Ruby on Rails applications.

Coverband 2.6k updated yesterday

Rack middleware to help measure production code coverage.

Fasterer 1.8k updated 1y ago

Make your Rubies go faster with this command line tool highly inspired by fast-ruby and Sferik's talk at Baruco Conf.

Flay 761 updated yesterday

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. Making this totally rad.

Flog 958 updated 2mo ago

Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.

Reek 4.1k updated 26d ago

Code smell detector for Ruby.

MetricFu 624 updated 2y ago

A fist full of code metrics.

Pippi 286 updated 7y ago

A utility for finding suboptimal Ruby class API usage, focused on runtime analysis.

Pronto 2.7k updated 2d ago

Quick automated code review of your changes.

rails_best_practices

A code metric tool for rails projects.

Rubycritic 3.5k updated 1mo ago

A Ruby code quality reporter.

Scientist 7.7k updated 4mo ago

A Ruby library for carefully refactoring critical paths.

SimpleCov 4.9k updated 1mo ago

Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.

Sorbet 3.8k updated 2d ago

A static type checker for Ruby.

Suture 1.4k updated 2y ago

A Ruby gem that helps you refactor your legacy code.

Traceroute 904 updated 11mo ago

A Rake task gem that helps you find the dead routes and actions for your Rails 3+ app

Core Extensions

Database Tools

connection_pool 1.7k updated 2mo ago

Generic connection pooling for Ruby, that can be used with anything, e.g. Redis, Dalli, etc.

Database Cleaner 3.0k updated 8mo ago

Database Cleaner is a set of strategies for cleaning your database in Ruby.

Database Consistency 1.2k updated 3d ago

An easy way to check that application constraints and database constraints are in sync.

Foreigner 1.3k updated 7y ago

Adds foreign key helpers to migrations and correctly dumps foreign keys to schema.rb.

Large Hadron Migrator 1.9k updated 4mo ago

Online MySQL schema migrations without locking the table.

Lol DBA 1.6k updated yesterday

Scan your models and displays a list of columns that probably should be indexed.

Online Migrations 728 updated 8d ago

Catch unsafe PostgreSQL migrations in development and run them easier in production.

Polo 789 updated 7mo ago

Creates sample database snapshots to work with real world data in development.

PgHero 8.8k updated 2mo ago

Postgres insights made easy.

Rails DB 1.5k updated 8mo ago

Database Viewer and SQL Query Runner.

Rein 671 updated 5y ago

Database constraints made easy for ActiveRecord.

Scenic 3.6k updated 4mo ago

Versioned database views for Rails.

SchemaPlus 677 (archived)

SchemaPlus provides a collection of enhancements and extensions to ActiveRecord

SecondBase 219 updated 2mo ago

Seamless second database integration for Rails. SecondBase provides support for Rails to manage dual databases by extending ActiveRecord tasks that create, migrate, and test your application.

Seedbank 1.1k updated 2y ago

Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file.

Seed dump 1.4k updated 14d ago

Rails 4 task to dump (parts) of your database to db/seeds.rb.

Seed Fu 1.2k updated 3y ago

Advanced seed data handling for Rails.

Standby 86 updated 2y ago

Read from standby databases for ActiveRecord (formerly Slavery).

Strong Migrations 4.4k updated 3d ago

Catch unsafe migrations in development.

Upsert 647 updated 5y ago

Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE.

Date and Time Processing

biz 489 updated 3mo ago

Time calculations using business hours.

business_time 1.3k updated 2mo ago

Support for doing time math in business hours and days.

ByStar 1.0k updated 3y ago

Find ActiveRecord objects by year, month, fortnight, week and more!

Chronic 3.3k updated 2y ago

A natural language date/time parser written in pure Ruby.

date_range_formatter 31 updated 3y ago

The simple tool to make work with date ranges in Ruby more enjoyable.

groupdate 3.9k updated 2mo ago

The simplest way to group temporal data in ActiveRecord, arrays and hashes.

holidays 844 updated 1y ago

A collection of Ruby methods to deal with statutory and other holidays.

ice_cube 2.5k updated 2mo ago

A date recurrence library which allows easy creation of recurrence rules and fast querying.

Jekyll-Timeago 152 updated 7mo ago

A Ruby library to compute distance of dates in words, with localization support, alternative styles, CLI and Jekyll support.

local_time 2.0k updated 27d ago

Rails Engine for cache-friendly, client-side local time.

montrose 856 updated 1y ago

a simple library for expressing, serializing, and enumerating recurring events in Ruby.

stamp 961 updated 5y ago

Format dates and times based on human-friendly examples, not arcane strftime directives.

time_diff 146 updated 7y ago

Calculates the difference between two time.

timezone 363 updated 3mo ago

Accurate current and historical timezones and transformations, with support for Geonames and Google latitude - longitude timezone lookups.

TZinfo 375 updated 22d ago

Provides daylight savings aware transformations between times in different timezones.

validates_timeliness 1.6k updated 3mo ago

Date and time validation plugin for ActiveModel and Rails.

working_hours 536 updated 1mo ago

A modern ruby gem allowing to do time calculation with working hours.

yymmdd 77 updated 11y ago

Tiny DSL for idiomatic date parsing and formatting.

DevOps Tools

Backup 4.9k updated 1y ago

Provides an elegant DSL in Ruby for performing backups on UNIX-like systems.

BOSH 2.1k updated 2d ago

Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.

Centurion 1.8k (archived)

A mass deployment tool for Docker fleets.

Chef 8.4k updated 2d ago

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

Einhorn 1.6k updated 11mo ago

Einhorn will open one or more shared sockets and run multiple copies of your process. You can seamlessly reload your code, dynamically reconfigure Einhorn, and more.

Itamae 1.1k updated 20d ago

Simple and lightweight configuration management tool inspired by Chef.

Kanrisuru 20 updated 4mo ago

Manage remote infrastructure in Ruby

Logstash 14.8k updated yesterday

Logs/event transport, processing, management, search.

Kamal 13.9k updated 2d ago

Kamal offers zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, and everything else you need to deploy and manage your web app in production with Docker.

Mina 4.4k updated 1y ago

Really fast deployer and server automation tool.

Puppet 7.8k updated 9d ago

An automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.

Rubber 1.5k updated 5y ago

The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).

SSHKey 278 updated 3mo ago

SSH private and public key generator in pure Ruby (RSA & DSA).

Sunzi 453 updated 2mo ago

Server provisioning utility for minimalists

Ruby-LXC 138 updated 2y ago

Native ruby binding for Linux containers.

HTTP Clients and tools

Accept Language 83 updated 6d ago

A tiny library for parsing the Accept-Language header from browsers (as defined in RFC 2616).

excon 1.2k updated 4d ago

Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients.

Faraday 5.9k updated 9d ago

an HTTP client lib that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.

Device Detector 771 updated 4mo ago

A precise and fast user agent parser and device detector, backed by the largest and most up-to-date user agent database.

Http Client 707 updated 1y ago

Gives something like the functionality of libwww-perl (LWP) in Ruby.

HTTP 3.1k updated 5d ago

The HTTP Gem: a simple Ruby DSL for making HTTP requests.

HTTPX 236 updated 5d ago

Pure ruby HTTP client, supports HTTP/2 and HTTP/1, concurrent requests, plugin system for extended features (cookies, retries, following redirects, proxy, streaming...).

httparty 5.9k updated 21d ago

Makes http fun again!

Http-2 907 updated 20d ago

Pure Ruby implementation of HTTP/2 protocol

Patron 546 updated 1y ago

Patron is a Ruby HTTP client library based on libcurl.

RESTClient 5.2k updated 1y ago

Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.

Rack::Cors 3.3k updated 10mo ago

Cross-Origin Resource Sharing (CORS) middleware for Rack applications.

Savon 2.1k updated 2mo ago

Savon is a SOAP client for the Ruby programming language.

Sawyer 251 updated 2mo ago

Secret user agent of HTTP, built on top of Faraday.

Sniffer 584 updated 2y ago

Tool to log and debug outgoing HTTP requests across multiple ruby libraries.

Typhoeus 4.1k updated 15d ago

Typhoeus wraps libcurl in order to make fast and reliable requests.

ORM/ODM Extensions

Queues and Messaging

Backburner 432 updated 2mo ago

Backburner is a beanstalkd-powered job queue that can handle a very high volume of jobs.

Bunny 1.4k updated yesterday

Bunny is a popular, easy to use, well-maintained Ruby client for RabbitMQ (3.3+).

Delayed::Job 4.8k updated 2mo ago

Database backed asynchronous priority queue.

GoodJob 2.9k updated 5d ago

GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails.

Gush 1.1k updated 4mo ago

A parallel runner for complex workflows using only Redis and Sidekiq.

JobIteration 1.3k updated yesterday

An ActiveJob extension to make long-running jobs interruptible and resumable.

Karafka 2.2k updated 2d ago

Framework used to simplify Apache Kafka (a distributed streaming platform) based Ruby applications development.

Lowkiq 142 updated 2y ago

Ordered processing of background jobs for cases where Sidekiq can't help.

March Hare 97 updated 6mo ago

Idiomatic, fast and well-maintained JRuby client for RabbitMQ.

Resque 9.5k updated 26d ago

A Redis-backed Ruby library for creating background jobs.

Que 2.3k updated 2mo ago

A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.

Shoryuken 2.1k updated 2d ago

A super efficient AWS SQS thread based message processor for Ruby.

SidekiqIteration 281 updated 27d ago

A Sidekiq extension to make long-running jobs interruptible and resumable.

Sneakers 2.2k updated 1y ago

A fast background processing framework for Ruby and RabbitMQ.

Sucker Punch 2.6k updated 3mo ago

A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother.

Scientific

chewy 1.9k updated 7d ago

High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client.

elasticsearch-ruby 2.0k updated 15d ago

Ruby integrations for Elasticsearch.

elastics 101 updated 9y ago

Simple ElasticSearch client with support for migrations and ActiveRecord integration.

has_scope 1.8k updated 12d ago

Has scope allows you to easily create controller filters based on your resources named scopes.

Mongoid Search 321 updated 1mo ago

Simple full text search implementation for Mongoid.

pg_search 1.6k updated yesterday

Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search.

ransack 5.9k updated 21d ago

Object-based searching.

Rroonga 67 updated 4mo ago

The Ruby bindings of Groonga.

scoped_search 272 updated 5mo ago

Adds a scope supporting search queries and autocompletion against existing fields on ActiveRecord models and associations.

SearchCop 835 updated 1mo ago

Extends your ActiveRecord models to support fulltext search engine like queries via simple query strings and hash-based queries.

Searchkick 6.7k updated 1mo ago

Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.

Sunspot 3.0k updated 8mo ago

A Ruby library for expressive, powerful interaction with the Solr search engine.

textacular 955 updated 5mo ago

Exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular extends ActiveRecord with named_scope methods making searching easy and fun!

Thinking Sphinx 1.6k updated 2mo ago

A library for connecting ActiveRecord to the Sphinx full-text search tool.

typesense-ruby 112 updated 1mo ago

Ruby client for Typesense, a fast, typo-tolerant search engine.

Testing

Extra

Appraisal 1.3k updated 6mo ago

Appraisal integrates with bundler and rake to test your library against different versions of dependencies.

CQL 26 updated 3y ago

CQL is a library for making queries against Cucumber style test suites.

cuke_modeler 23 updated 2mo ago

An modeling library for .feature files that is an abstration layer on top of the gherkin gem, providing a stable base upon which to build other Gherkin related tools.

gitarro 15 updated 2y ago

Run, retrigger, handle all type and OS-independent tests against your GitHub Pull Requests.

Knapsack 545 updated 3mo ago

Optimal test suite parallelisation across CI nodes for RSpec, Cucumber, Minitest, Spinach and Turnip.

mutant 2.1k updated yesterday

Mutant is a mutation testing tool for Ruby.

Parallel Tests 3.5k updated 1mo ago

Speedup Test::Unit + RSpec + Cucumber by running parallel on multiple CPUs (or cores).

power_assert 1 updated 10mo ago

Power Assert for Ruby.

Ruby-JMeter

A Ruby based DSL for building JMeter test plans.

Spring 2.8k updated 1mo ago

Preloads your rails environment in the background for faster testing and Rake tasks.

timecop 3.4k updated 4mo ago

Provides "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code.

Turbo Tests 210 updated 6mo ago

Run RSpec tests on multiple cores. Like parallel_tests but with incremental summarized output.

vcr 6.0k updated 6d ago

Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.

Wraith updated 5mo ago

A responsive screenshot comparison tool.

Zapata 411 updated 6y ago

Who has time to write tests? This is a revolutionary tool to make them write themselves.

Third-party APIs

Ably 42 updated 23d ago

Ruby library for realtime communication over Ably.

Buffer 56 (archived)

Buffer API Ruby Library

discordrb 9 updated 2y ago

An implementation of the Discord API.

Dropbox 172 updated 1y ago

Ruby client for Dropbox API v2.

fb_graph2 106 updated 3y ago

A full-stack Facebook Graph API wrapper.

flickr 21 updated 11y ago

A Ruby interface to the Flickr API.

gitlab 1.1k updated 24d ago

Ruby wrapper and CLI for the GitLab API.

google-api-ads-ruby 303 updated 28d ago

Google Adwords Ruby client

gmail 417 updated 2y ago

A Rubyesque interface to Gmail, with all the tools you'll need.

hipchat-rb 334 updated 8y ago

HipChat HTTP API Wrapper in Ruby with Capistrano hooks.

instagram-ruby-gem 1.4k (archived)

The official gem for the Instagram REST and Search APIs.

itunes_store_transporter 121 updated 9mo ago

Ruby wrapper around Apple's iTMSTransporter program.

linkedin 764 updated 4y ago

Provides an easy-to-use wrapper for LinkedIn's REST APIs.

Notion Ruby Client 130 updated 1y ago

A Ruby wrapper for the Notion API.

Octokit 3.9k updated 1mo ago

Ruby toolkit for the GitHub API.

Pusher 665 updated 6d ago

Ruby server library for the Pusher API.

Restforce 823 updated 2d ago

A Ruby client for the Salesforce REST api.

ruby-gmail 788 updated 6y ago

A Rubyesque interface to Gmail.

ruby-trello 718 updated 1y ago

Implementation of the Trello API for Ruby.

simple-slack-bot 156 (archived)

You can easily make Slack Bot.

Slack Notifier 1.5k updated 2y ago

A simple wrapper for posting to Slack channels.

Slack ruby gem 242 (archived)

A Ruby wrapper for the Slack API.

soundcloud-ruby 7 updated 4mo ago

Official SoundCloud API Wrapper for Ruby.

t 5.5k updated 2d ago

A command-line power tool for Twitter.

terjira 902 updated 3y ago

A command-line power tool for Jira.

tweetstream 1.1k updated 4y ago

A simple library for consuming Twitter's Streaming API.

twilio-ruby 1.4k updated yesterday

A module for using the Twilio REST API and generating valid TwiML.

twitter 4.6k updated 4d ago

A Ruby interface to the Twitter API.

whatsapp-sdk 200 updated 6d ago

Ruby client for the Whatsapp API.

wikipedia 309 updated 3y ago

Ruby client for the Wikipedia API.

Yt 754 updated 4d ago

An object-oriented Ruby client for YouTube API V3.