Ruby
made by https://0x3d.site
GitHub - paper-trail-gem/paper_trail: Track changes to your rails modelsTrack changes to your rails models. Contribute to paper-trail-gem/paper_trail development by creating an account on GitHub.
Visit Site
GitHub - paper-trail-gem/paper_trail: Track changes to your rails models
PaperTrail
Track changes to your models, for auditing or versioning. See how a model looked at any stage in its lifecycle, revert it to any version, or restore it after it has been destroyed.
Documentation
This is the user guide. See also, the API reference.
Choose version: Unreleased, 16.0, 15.2, 14.0, 13.0, 12.3, 11.1, 10.3, 9.2, 8.1, 7.1, 6.0, 5.2, 4.2, 3.0, 2.7, 1.6
Table of Contents
- 1. Introduction
- 2. Limiting What is Versioned, and When
- 3. Working With Versions
- 4. Saving More Information About Versions
- 5. ActiveRecord
- 6. Extensibility
- 7. Testing
- 8. PaperTrail Plugins
- 9. Integration with Other Libraries
- 10. Related Libraries and Ports
- Articles
- Problems
- Contributors
- Contributing
- Inspirations
- Intellectual Property
1. Introduction
1.a. Compatibility
paper_trail | ruby | activerecord |
---|---|---|
unreleased | >= 3.0.0 | >= 6.1, <= 8.0 |
16 | >= 3.0.0 | >= 6.1, <= 8.0 |
15.2 | >= 3.0.0 | >= 6.1, <= 7.2 |
15.1 | >= 3.0.0 | >= 6.1, <= 7.1 |
15 | >= 3.0.0 | >= 6.1, <= 7.1 |
14 | >= 2.7.0 | >= 6.0, < 7.1 |
13 | >= 2.6.0 | >= 5.2, < 7.1 |
12 | >= 2.6.0 | >= 5.2, < 7.1 |
11 | >= 2.4.0 | >= 5.2, < 6.1 |
10 | >= 2.3.0 | >= 4.2, < 6.1 |
9 | >= 2.3.0 | >= 4.2, < 5.3 |
8 | >= 2.2.0 | >= 4.2, < 5.2 |
7 | >= 2.1.0 | >= 4.0, < 5.2 |
6 | >= 1.9.3 | >= 4.0, < 5.2 |
5 | >= 1.9.3 | >= 3.0, < 5.1 |
4 | >= 1.8.7 | >= 3.0, < 5.1 |
3 | >= 1.8.7 | >= 3.0, < 5 |
2 | >= 1.8.7 | >= 3.0, < 4 |
1 | >= 1.8.7 | >= 2.3, < 3 |
Experts: to install incompatible versions of activerecord, see
paper_trail/compatibility.rb
.
1.b. Installation
-
Add PaperTrail to your
Gemfile
and runbundle
.gem 'paper_trail'
-
Add a
versions
table to your database:bundle exec rails generate paper_trail:install [--with-changes] [--uuid] bundle exec rails db:migrate
See section 5.c. Generators for details.
-
Add
has_paper_trail
to the models you want to track.class Widget < ActiveRecord::Base has_paper_trail end
-
If your controllers have a
current_user
method, you can easily track who is responsible for changes by adding a controller callback.class ApplicationController before_action :set_paper_trail_whodunnit end
1.c. Basic Usage
Your models now have a versions
method which returns the "paper trail" of
changes to your model.
widget = Widget.find 42
widget.versions
# [<PaperTrail::Version>, <PaperTrail::Version>, ...]
Once you have a version, you can find out what happened:
v = widget.versions.last
v.event # 'update', 'create', 'destroy'. See also: "The versions.event Column"
v.created_at
v.whodunnit # ID of `current_user`. Requires `set_paper_trail_whodunnit` callback.
widget = v.reify # The widget as it was before the update (nil for a create event)
PaperTrail stores the pre-change version of the model, unlike some other auditing/versioning plugins, so you can retrieve the original version. This is useful when you start keeping a paper trail for models that already have records in the database.
widget = Widget.find 153
widget.name # 'Doobly'
# Add has_paper_trail to Widget model.
widget.versions # []
widget.update name: 'Wotsit'
widget.versions.last.reify.name # 'Doobly'
widget.versions.last.event # 'update'
This also means that PaperTrail does not waste space storing a version of the
object as it currently stands. The versions
method gives you previous
versions; to get the current one just call a finder on your Widget
model as
usual.
Here's a helpful table showing what PaperTrail stores:
Event | create | update | destroy |
---|---|---|---|
Model Before | nil | widget | widget |
Model After | widget | widget | nil |
PaperTrail stores the values in the Model Before row. Most other auditing/versioning plugins store the After row.
1.d. API Summary
An introductory sample of common features.
When you declare has_paper_trail
in your model, you get these methods:
class Widget < ActiveRecord::Base
has_paper_trail
end
# Returns this widget's versions. You can customise the name of the
# association, but overriding this method is not supported.
widget.versions
# Return the version this widget was reified from, or nil if it is live.
# You can customise the name of the method.
widget.version
# Returns true if this widget is the current, live one; or false if it is from
# a previous version.
widget.paper_trail.live?
# Returns who put the widget into its current state.
widget.paper_trail.originator
# Returns the widget (not a version) as it looked at the given timestamp.
widget.paper_trail.version_at(timestamp)
# Returns the widget (not a version) as it was most recently.
widget.paper_trail.previous_version
# Returns the widget (not a version) as it became next.
widget.paper_trail.next_version
And a PaperTrail::Version
instance (which is just an ordinary ActiveRecord
instance, with all the usual methods) has methods such as:
# Returns the item restored from this version.
version.reify(options = {})
# Return a new item from this version
version.reify(dup: true)
# Returns who put the item into the state stored in this version.
version.paper_trail_originator
# Returns who changed the item from the state it had in this version.
version.terminator
version.whodunnit
version.version_author
# Returns the next version.
version.next
# Returns the previous version.
version.previous
# Returns the index of this version in all the versions.
version.index
# Returns the event that caused this version (create|update|destroy).
version.event
This is just a sample of common features. Keep reading for more.
1.e. Configuration
Many aspects of PaperTrail are configurable for individual models; typically
this is achieved by passing options to the has_paper_trail
method within
a given model.
Some aspects of PaperTrail are configured globally for all models. These
settings are assigned directly on the PaperTrail.config
object.
A common place to put these settings is in a Rails initializer file
such as config/initializers/paper_trail.rb
or in an environment-specific
configuration file such as config/environments/test.rb
.
1.e.1 Global
Global configuration options affect all threads.
- association_reify_error_behaviour
- enabled
- has_paper_trail_defaults
- object_changes_adapter
- serializer
- version_limit
- version_error_behavior
Syntax example: (options described in detail later)
# config/initializers/paper_trail.rb
PaperTrail.config.enabled = true
PaperTrail.config.has_paper_trail_defaults = {
on: %i[create update destroy]
}
PaperTrail.config.version_limit = 3
These options are intended to be set only once, during app initialization (eg.
in config/initializers
). It is unsafe to change them while the app is running.
In contrast, PaperTrail.request
has various options that only apply to a
single HTTP request and thus are safe to use while the app is running.
2. Limiting What is Versioned, and When
2.a. Choosing Lifecycle Events To Monitor
You can choose which events to track with the on
option. For example, if
you only want to track update
events:
class Article < ActiveRecord::Base
has_paper_trail on: [:update]
end
has_paper_trail
installs callbacks for the specified lifecycle events.
There are four potential callbacks, and the default is to install all four, ie.
on: [:create, :destroy, :touch, :update]
.
The versions.event
Column
Your versions
table has an event
column with three possible values:
event | callback |
---|---|
create | create |
destroy | destroy |
update | touch, update |
You may also have the PaperTrail::Version
model save a custom string in its
event
field instead of the typical create
, update
, destroy
. PaperTrail
adds an attr_accessor
to your model named paper_trail_event
, and will insert
it, if present, in the event
column.
a = Article.create
a.versions.size # 1
a.versions.last.event # 'create'
a.paper_trail_event = 'update title'
a.update title: 'My Title'
a.versions.size # 2
a.versions.last.event # 'update title'
a.paper_trail_event = nil
a.update title: 'Alternate'
a.versions.size # 3
a.versions.last.event # 'update'
Controlling the Order of AR Callbacks
If there are other callbacks in your model, their order relative to those
installed by has_paper_trail
may matter. If you need to control
their order, use the paper_trail_on_*
methods.
class Article < ActiveRecord::Base
# Include PaperTrail, but do not install any callbacks. Passing the
# empty array to `:on` omits callbacks.
has_paper_trail on: []
# Add callbacks in the order you need.
paper_trail.on_destroy # add destroy callback
paper_trail.on_update # etc.
paper_trail.on_create
paper_trail.on_touch
end
The paper_trail.on_destroy
method can be further configured to happen
:before
or :after
the destroy event. Until PaperTrail 4, the default was
:after
. Starting with PaperTrail 5, the default is :before
, to support
ActiveRecord 5. (see https://github.com/paper-trail-gem/paper_trail/pull/683)
2.b. Choosing When To Save New Versions
You can choose the conditions when to add new versions with the if
and
unless
options. For example, to save versions only for US non-draft
translations:
class Translation < ActiveRecord::Base
has_paper_trail if: Proc.new { |t| t.language_code == 'US' },
unless: Proc.new { |t| t.type == 'DRAFT' }
end
Choosing Based on Changed Attributes
Starting with PaperTrail 4.0, versions are saved during an after-callback. If you decide whether to save a new version based on changed attributes, use attribute_name_was instead of attribute_name.
Saving a New Version Manually
You may want to save a new version regardless of options like :on
, :if
, or
:unless
. Or, in rare situations, you may want to save a new version even if
the record has not changed.
my_model.paper_trail.save_with_version
2.c. Choosing Attributes To Monitor
Ignore
If you don't want a version created when only a certain attribute changes, you can ignore
that attribute:
class Article < ActiveRecord::Base
has_paper_trail ignore: [:title, :rating]
end
Changes to just the title
or rating
will not create a version record.
Changes to other attributes will create a version record.
a = Article.create
a.versions.length # 1
a.update title: 'My Title', rating: 3
a.versions.length # 1
a.update title: 'Greeting', content: 'Hello'
a.versions.length # 2
a.paper_trail.previous_version.title # 'My Title'
Note: ignored fields will be stored in the version records. If you want to keep a field out of the versions table, use :skip
instead of :ignore
; skipped fields are also implicitly ignored.
The :ignore
option can also accept Hash
arguments that we are considering deprecating.
class Article < ActiveRecord::Base
has_paper_trail ignore: [:title, { color: proc { |obj| obj.color == "Yellow" } }]
end
Only
Or, you can specify a list of the only
attributes you care about:
class Article < ActiveRecord::Base
has_paper_trail only: [:title]
end
Only changes to the title
will create a version record.
a = Article.create
a.versions.length # 1
a.update title: 'My Title'
a.versions.length # 2
a.update content: 'Hello'
a.versions.length # 2
a.paper_trail.previous_version.content # nil
The :only
option can also accept Hash
arguments that we are considering deprecating.
class Article < ActiveRecord::Base
has_paper_trail only: [{ title: Proc.new { |obj| !obj.title.blank? } }]
end
If the title
is not blank, then only changes to the title
will create a version record.
a = Article.create
a.versions.length # 1
a.update content: 'Hello'
a.versions.length # 2
a.update title: 'Title One'
a.versions.length # 3
a.update content: 'Hai'
a.versions.length # 3
a.paper_trail.previous_version.content # "Hello"
a.update title: 'Title Two'
a.versions.length # 4
a.paper_trail.previous_version.content # "Hai"
Configuring both :ignore
and :only
is not recommended, but it should work as
expected. Passing both :ignore
and :only
options will result in the
article being saved if a changed attribute is included in :only
but not in
:ignore
.
Skip
If you never want a field's values in the versions table, you can :skip
the attribute. As with :ignore
,
updates to these attributes will not create a version record. In addition, if a
version record is created for some other reason, these attributes will not be
persisted.
class Author < ActiveRecord::Base
has_paper_trail skip: [:social_security_number]
end
Author's social security numbers will never appear in the versions log, and if an author updates only their social security number, it won't create a version record.
Comparing :ignore
, :only
, and :skip
:only
is basically the same as:ignore
, but its inverse.:ignore
controls whether paper_trail will create a version record or not.:skip
controls whether paper_trail will save that field with the version record.- Skipped fields are also implicitly ignored. paper_trail does this internally.
- Ignored fields are not implicitly skipped.
So:
- Ignore a field if you don't want a version record created when it's the only field to change.
- Skip a field if you don't want it to be saved with any version records.
2.d. Turning PaperTrail Off
PaperTrail is on by default, but sometimes you don't want to record versions.
Per Process
Turn PaperTrail off for all threads in a ruby
process.
PaperTrail.enabled = false
Do not use this in production unless you have a good understanding of threads vs. processes.
A legitimate use case is to speed up tests. See Testing below.
Per HTTP Request
PaperTrail.request(enabled: false) do
# no versions created
end
or,
PaperTrail.request.enabled = false
# no versions created
PaperTrail.request.enabled = true
Per Class
In the rare case that you need to disable versioning for one model while keeping versioning enabled for other models, use:
PaperTrail.request.disable_model(Banana)
# changes to Banana model do not create versions,
# but eg. changes to Kiwi model do.
PaperTrail.request.enable_model(Banana)
PaperTrail.request.enabled_for_model?(Banana) # => true
This setting, as with all PaperTrail.request
settings, affects only the
current request, not all threads.
For this rare use case, there is no convenient way to pass a block.
In a Rails Controller Callback (Not Recommended)
PaperTrail installs a callback in your rails controllers. The installed
callback will call paper_trail_enabled_for_controller
, which you can
override.
class ApplicationController < ActionController::Base
def paper_trail_enabled_for_controller
# Don't omit `super` without a good reason.
super && request.user_agent != 'Disable User-Agent'
end
end
Because you are unable to control the order of callback execution, this technique is not recommended, but is preserved for backwards compatibility.
It would be better to install your own callback and use
PaperTrail.request.enabled=
as you see fit.
Per Method (Removed)
The widget.paper_trail.without_versioning
method was removed in v10, without
an exact replacement. To disable versioning, use the Per Class or
Per HTTP Request methods.
2.e. Limiting the Number of Versions Created
Configure version_limit
to cap the number of versions saved per record. This
does not apply to create
events.
# Limit: 4 versions per record (3 most recent, plus a `create` event)
PaperTrail.config.version_limit = 3
# Remove the limit
PaperTrail.config.version_limit = nil
2.e.1 Per-model limit
Models can override the global PaperTrail.config.version_limit
setting.
Example:
# initializer
PaperTrail.config.version_limit = 10
# At most 10 versions
has_paper_trail
# At most 3 versions (2 updates, 1 create). Overrides global version_limit.
has_paper_trail limit: 2
# Infinite versions
has_paper_trail limit: nil
3. Working With Versions
3.a. Reverting And Undeleting A Model
PaperTrail makes reverting to a previous version easy:
widget = Widget.find 42
widget.update name: 'Blah blah'
# Time passes....
widget = widget.paper_trail.previous_version # the widget as it was before the update
widget.save # reverted
Alternatively you can find the version at a given time:
widget = widget.paper_trail.version_at(1.day.ago) # the widget as it was one day ago
widget.save # reverted
Note version_at
gives you the object, not a version, so you don't need to call
reify
.
Undeleting is just as simple:
widget = Widget.find(42)
widget.destroy
# Time passes....
widget = Widget.new(id:42) # creating a new object with the same id, re-establishes the link
versions = widget.versions # versions ordered by versions.created_at, ascending
widget = versions.last.reify # the widget as it was before destruction
widget.save # the widget lives!
You could even use PaperTrail to implement an undo system; Ryan Bates has!
If your model uses optimistic locking don't forget to increment your
lock_version
before saving or you'll get a StaleObjectError
.
3.b. Navigating Versions
You can call previous_version
and next_version
on an item to get it as it
was/became. Note that these methods reify the item for you.
live_widget = Widget.find 42
live_widget.versions.length # 4, for example
widget = live_widget.paper_trail.previous_version # => widget == live_widget.versions.last.reify
widget = widget.paper_trail.previous_version # => widget == live_widget.versions[-2].reify
widget = widget.paper_trail.next_version # => widget == live_widget.versions.last.reify
widget.paper_trail.next_version # live_widget
If instead you have a particular version
of an item you can navigate to the
previous and next versions.
widget = Widget.find 42
version = widget.versions[-2] # assuming widget has several versions
previous_version = version.previous
next_version = version.next
You can find out which of an item's versions yours is:
current_version_number = version.index # 0-based
If you got an item by reifying one of its versions, you can navigate back to the version it came from:
latest_version = Widget.find(42).versions.last
widget = latest_version.reify
widget.version == latest_version # true
You can find out whether a model instance is the current, live one -- or whether
it came instead from a previous version -- with live?
:
widget = Widget.find 42
widget.paper_trail.live? # true
widget = widget.paper_trail.previous_version
widget.paper_trail.live? # false
See also: Section 3.e. Queries
3.c. Diffing Versions
There are two scenarios: diffing adjacent versions and diffing non-adjacent versions.
The best way to diff adjacent versions is to get PaperTrail to do it for you. If
you add an object_changes
column to your versions
table, PaperTrail will
store the changes
diff in each version. Ignored attributes are omitted.
widget = Widget.create name: 'Bob'
widget.versions.last.changeset # reads object_changes column
# {
# "name"=>[nil, "Bob"],
# "created_at"=>[nil, 2015-08-10 04:10:40 UTC],
# "updated_at"=>[nil, 2015-08-10 04:10:40 UTC],
# "id"=>[nil, 1]
# }
widget.update name: 'Robert'
widget.versions.last.changeset
# {
# "name"=>["Bob", "Robert"],
# "updated_at"=>[2015-08-10 04:13:19 UTC, 2015-08-10 04:13:19 UTC]
# }
widget.destroy
widget.versions.last.changeset
# {}
Prior to 10.0.0, the object_changes
were only stored for create and update
events. As of 10.0.0, they are stored for all three events.
PaperTrail doesn't use diffs internally.
When I designed PaperTrail I wanted simplicity and robustness so I decided to make each version of an object self-contained. A version stores all of its object's data, not a diff from the previous version. This means you can delete any version without affecting any other. -Andy
To diff non-adjacent versions you'll have to write your own code. These libraries may help:
For diffing two strings:
- htmldiff: expects but doesn't require HTML input and produces HTML output. Works very well but slows down significantly on large (e.g. 5,000 word) inputs.
- differ: expects plain text input and produces plain text/coloured/HTML/any output. Can do character-wise, word-wise, line-wise, or arbitrary-boundary-string-wise diffs. Works very well on non-HTML input.
- diff-lcs: old-school, line-wise diffs.
Unfortunately, there is no currently widely available and supported library for diffing two ActiveRecord objects.
3.d. Deleting Old Versions
Over time your versions
table will grow to an unwieldy size. Because each
version is self-contained (see the Diffing section above for more) you can
simply delete any records you don't want any more. For example:
sql> delete from versions where created_at < '2010-06-01';
PaperTrail::Version.where('created_at < ?', 1.day.ago).delete_all
3.e. Queries
You can query records in the versions
table based on their object
or
object_changes
columns.
# Find versions that meet these criteria.
PaperTrail::Version.where_object(content: 'Hello', title: 'Article')
# Find versions before and after attribute `atr` had value `v`:
PaperTrail::Version.where_object_changes(atr: 'v')
See also:
where_object_changes_from
where_object_changes_to
where_attribute_changes
Only where_object
supports text columns. Your object_changes
column should
be a json
or jsonb
column if possible. If you must use a text
column,
you'll have to write a custom
object_changes_adapter
.
3.f. Defunct item_id
s
The item_id
s in your versions
table can become defunct over time,
potentially causing application errors when id
s in the foreign table are
reused. id
reuse can be an explicit choice of the application, or implicitly
caused by sequence cycling. The chance of id
reuse is reduced (but not
eliminated) with bigint
id
s or uuid
s, no cycle
sequences,
and/or when versions
are periodically deleted.
Ideally, a Foreign Key Constraint (FKC) would set item_id
to null when an item
is deleted. However, items
is a polymorphic relationship. A partial FKC (e.g.
an FKC with a where
clause) is possible, but only in Postgres, and it is
impractical to maintain FKCs for every versioned table unless the number of
such tables is very small.
If per-table Version
classes
are used, then a partial FKC is no longer needed. So, a normal FKC can be
written in any RDBMS, but it remains impractical to maintain so many FKCs.
Some applications choose to handle this problem by "soft-deleting" versioned
records, i.e. marking them as deleted instead of actually deleting them. This
completely prevents id
reuse, but adds complexity to the application. In most
applications, this is the only known practical solution to the id
reuse
problem.
4. Saving More Information About Versions
4.a. Finding Out Who Was Responsible For A Change
Set PaperTrail.request.whodunnit=
, and that value will be stored in the
version's whodunnit
column.
PaperTrail.request.whodunnit = 'Andy Stewart'
widget.update name: 'Wibble'
widget.versions.last.whodunnit # Andy Stewart
Setting whodunnit
to a Proc
whodunnit=
also accepts a Proc
, in the rare case that lazy evaluation is
required.
PaperTrail.request.whodunnit = proc do
caller.find { |c| c.starts_with? Rails.root.to_s }
end
Because lazy evaluation can be hard to troubleshoot, this is not recommended for common use.
Setting whodunnit
Temporarily
To set whodunnit temporarily, for the duration of a block, use
PaperTrail.request
:
PaperTrail.request(whodunnit: 'Dorian Marié') do
widget.update name: 'Wibble'
end
Setting whodunnit
with a controller callback
If your controller has a current_user
method, PaperTrail provides a
callback that will assign current_user.id
to whodunnit
.
class ApplicationController
before_action :set_paper_trail_whodunnit
end
You may want set_paper_trail_whodunnit
to call a different method to find out
who is responsible. To do so, override the user_for_paper_trail
method in
your controller like this:
class ApplicationController
def user_for_paper_trail
logged_in? ? current_member.id : 'Public user' # or whatever
end
end
See also: Setting whodunnit in the rails console
Terminator and Originator
A version's whodunnit
column tells us who changed the object, causing the
version
to be stored. Because a version stores the object as it looked before
the change (see the table above), whodunnit
tells us who stopped the object
looking like this -- not who made it look like this. Hence whodunnit
is
aliased as terminator
.
To find out who made a version's object look that way, use
version.paper_trail_originator
. And to find out who made a "live" object look
like it does, call paper_trail_originator
on the object.
widget = Widget.find 153 # assume widget has 0 versions
PaperTrail.request.whodunnit = 'Alice'
widget.update name: 'Yankee'
widget.paper_trail.originator # 'Alice'
PaperTrail.request.whodunnit = 'Bob'
widget.update name: 'Zulu'
widget.paper_trail.originator # 'Bob'
first_version, last_version = widget.versions.first, widget.versions.last
first_version.whodunnit # 'Alice'
first_version.paper_trail_originator # nil
first_version.terminator # 'Alice'
last_version.whodunnit # 'Bob'
last_version.paper_trail_originator # 'Alice'
last_version.terminator # 'Bob'
Storing an ActiveRecord globalid in whodunnit
If you would like whodunnit
to return an ActiveRecord
object instead of a
string, please try the paper_trail-globalid gem.
4.b. Associations
To track and reify associations, use paper_trail-association_tracking (PT-AT).
From 2014 to 2018, association tracking was an experimental feature, but many issues were discovered. To attract new volunteers to address these issues, PT-AT was extracted (see https://github.com/paper-trail-gem/paper_trail/issues/1070).
Even though it had always been an experimental feature, we didn't want the extraction of PT-AT to be a breaking change, so great care was taken to remove it slowly.
- In PT 9, PT-AT was kept as a runtime dependency.
- In PT 10, it became a development dependency (If you use it you must add it to
your own
Gemfile
) and we kept running all of its tests. - In PT 11, it will no longer be a development dependency, and it is responsible for its own tests.
4.b.1 The optional item_subtype
column
As of PT 10, users may add an item_subtype
column to their versions
table.
When storing versions for STI models, rails stores the base class in item_type
(that's just how polymorphic associations like item
work) In addition, PT will
now store the subclass in item_subtype
. If this column is present PT-AT will
use it to fix a rare issue with reification of STI subclasses.
add_column :versions, :item_subtype, :string, null: true
So, if you use PT-AT and STI, the addition of this column is recommended.
- https://github.com/paper-trail-gem/paper_trail/issues/594
- https://github.com/paper-trail-gem/paper_trail/pull/1143
- https://github.com/westonganger/paper_trail-association_tracking/pull/5
4.c. Storing Metadata
You can add your own custom columns to your versions
table. Values can be
given using Model Metadata or Controller Metadata.
Model Metadata
You can specify metadata in the model using has_paper_trail(meta:)
.
class Article < ActiveRecord::Base
belongs_to :author
has_paper_trail(
meta: {
author_id: :author_id, # model attribute
word_count: :count_words, # arbitrary model method
answer: 42, # scalar value
editor: proc { |article| article.editor.full_name } # a Proc
}
)
def count_words
153
end
end
Metadata from Controllers
You can also store any information you like from your controller. Override
the info_for_paper_trail
method in your controller to return a hash whose keys
correspond to columns in your versions
table.
class ApplicationController
def info_for_paper_trail
{ ip: request.remote_ip, user_agent: request.user_agent }
end
end
Advantages of Metadata
Why would you do this? In this example, author_id
is an attribute of
Article
and PaperTrail will store it anyway in a serialized form in the
object
column of the version
record. But let's say you wanted to pull out
all versions for a particular author; without the metadata you would have to
deserialize (reify) each version
object to see if belonged to the author in
question. Clearly this is inefficient. Using the metadata you can find just
those versions you want:
PaperTrail::Version.where(author_id: author_id)
Metadata can Override PaperTrail Columns
Experts only. Metadata will override the normal values that PT would have inserted into its own columns.
PT Column | How bad of an idea? | Alternative |
---|---|---|
created_at | forbidden* | |
event | meh | paper_trail_event |
id | forbidden | |
item_id | forbidden | |
item_subtype | forbidden | |
item_type | forbidden | |
object | a little dangerous | |
object_changes | a little dangerous | |
updated_at | forbidden | |
whodunnit | meh | PaperTrail.request.whodunnit= |
* forbidden - raises a PaperTrail::InvalidOption
error as of PT 14
5. ActiveRecord
5.a. Single Table Inheritance (STI)
PaperTrail supports Single Table Inheritance, and even supports an
un-versioned base model, as of 23ffbdc7e1
.
class Fruit < ActiveRecord::Base
# un-versioned base model
end
class Banana < Fruit
has_paper_trail
end
However, there is a known issue when reifying associations, see https://github.com/paper-trail-gem/paper_trail/issues/594
5.b. Configuring the versions
Association
5.b.1. versions
association
You may configure the name of the versions
association by passing a different
name (default is :versions
) in the versions:
options hash:
class Post < ActiveRecord::Base
has_paper_trail versions: {
name: :drafts
}
end
Post.new.versions # => NoMethodError
You may pass a
scope
to the versions
association with the scope:
option:
class Post < ActiveRecord::Base
has_paper_trail versions: {
scope: -> { order("id desc") }
}
# Equivalent to:
has_many :versions,
-> { order("id desc") },
class_name: 'PaperTrail::Version',
as: :item
end
Any other options supported by
has_many
can be passed along to the has_many
macro via the versions:
options hash.
class Post < ActiveRecord::Base
has_paper_trail versions: {
extend: VersionsExtensions,
autosave: false
}
end
Overriding (instead of configuring) the versions
method is not supported.
Overriding associations is not recommended in general.
5.b.2. item
association
A PaperTrail::Version
object belongs_to
an item
, the relevant record.
The item
association is first defined in PaperTrail::VersionConcern
, but
associations can be redefined.
Example: adding a counter_cache
to item
association
# app/models/paper_trail/version.rb
module PaperTrail
class Version < ActiveRecord::Base
belongs_to :item, polymorphic: true, counter_cache: true
end
end
When redefining an association, its options are replaced not merged, so
don't forget to specify the options from PaperTrail::VersionConcern
, like
polymorphic
.
Be advised that redefining an association is an undocumented feature of Rails.
5.c. Generators
PaperTrail has one generator, paper_trail:install
. It writes, but does not
run, a migration file. The migration creates the versions
table.
Reference
The most up-to-date documentation for this generator can be found by running
rails generate paper_trail:install --help
, but a copy is included here for
convenience.
Usage:
rails generate paper_trail:install [options]
Options:
[--with-changes], [--no-with-changes] # Store changeset (diff) with each version
[--uuid] # To use paper_trail with projects using uuid for id
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
Generates (but does not run) a migration to add a versions table.
5.d. Protected Attributes
As of version 6, PT no longer supports rails 3 or the protected_attributes gem. If you are still using them, you may use PT 5 or lower. We recommend upgrading to strong_parameters as soon as possible.
If you must use protected_attributes for now, and want to use PT > 5, you
can reopen PaperTrail::Version
and add the following attr_accessible
fields:
# app/models/paper_trail/version.rb
module PaperTrail
class Version < ActiveRecord::Base
include PaperTrail::VersionConcern
attr_accessible :item_type, :item_id, :event, :whodunnit, :object, :object_changes, :created_at
end
end
This unsupported workaround has been tested with protected_attributes 1.0.9 / rails 4.2.8 / paper_trail 7.0.3.
6. Extensibility
6.a. Custom Version Classes
You can specify custom version subclasses with the :class_name
option:
class PostVersion < PaperTrail::Version
# custom behaviour, e.g:
self.table_name = :post_versions
end
class Post < ActiveRecord::Base
has_paper_trail versions: {
class_name: 'PostVersion'
}
end
Unlike ActiveRecord's class_name
, you'll have to supply the complete module
path to the class (e.g. Foo::BarVersion
if your class is inside the module
Foo
).
Advantages
- For models which have a lot of versions, storing each model's versions in a separate table can improve the performance of certain database queries.
- Store different version metadata for different models.
Configuration
If you are using Postgres, you should also define the sequence that your custom version class will use:
class PostVersion < PaperTrail::Version
self.table_name = :post_versions
self.sequence_name = :post_versions_id_seq
end
If you only use custom version classes and don't have a versions
table, you must
let ActiveRecord know that your base version class (eg. ApplicationVersion
below)
class is an abstract_class
.
# app/models/application_version.rb
class ApplicationVersion < ActiveRecord::Base
include PaperTrail::VersionConcern
self.abstract_class = true
end
class PostVersion < ApplicationVersion
self.table_name = :post_versions
self.sequence_name = :post_versions_id_seq
end
You can also specify custom names for the versions and version associations.
This is useful if you already have versions
or/and version
methods on your
model. For example:
class Post < ActiveRecord::Base
has_paper_trail versions: { name: :paper_trail_versions },
version: :paper_trail_version
# Existing versions method. We don't want to clash.
def versions
# ...
end
# Existing version method. We don't want to clash.
def version
# ...
end
end
6.b. Custom Serializer
By default, PaperTrail stores your changes as a YAML
dump. You can override
this with the serializer config option:
PaperTrail.serializer = MyCustomSerializer
A valid serializer is a module
(or class
) that defines a load
and dump
method. These serializers are included in the gem for your convenience:
PostgreSQL JSON column type support
If you use PostgreSQL, and would like to store your object
(and/or
object_changes
) data in a column of type json
or type jsonb
, specify
json
instead of text
for these columns in your migration:
create_table :versions do |t|
# ...
t.json :object # Full object changes
t.json :object_changes # Optional column-level changes
# ...
end
If you use the PostgreSQL json
or jsonb
column type, you do not need
to specify a PaperTrail.serializer
.
Convert existing YAML data to JSON
If you've been using PaperTrail for a while with the default YAML serializer and you want to switch to JSON or JSONB, you're in a bit of a bind because there's no automatic way to migrate your data. The first (slow) option is to loop over every record and parse it in Ruby, then write to a temporary column:
add_column :versions, :new_object, :jsonb # or :json
# add_column :versions, :new_object_changes, :jsonb # or :json
# PaperTrail::Version.reset_column_information # needed for rails < 6
PaperTrail::Version.where.not(object: nil).find_each do |version|
version.update_column(:new_object, YAML.load(version.object))
# if version.object_changes
# version.update_column(
# :new_object_changes,
# YAML.load(version.object_changes)
# )
# end
end
remove_column :versions, :object
# remove_column :versions, :object_changes
rename_column :versions, :new_object, :object
# rename_column :versions, :new_object_changes, :object_changes
This technique can be very slow if you have a lot of data. Though slow, it is safe in databases where transactions are protected against DDL, such as Postgres. In databases without such protection, such as MySQL, a table lock may be necessary.
If the above technique is too slow for your needs, and you're okay doing without PaperTrail data temporarily, you can create the new column without converting the data.
rename_column :versions, :object, :old_object
add_column :versions, :object, :jsonb # or :json
After that migration, your historical data still exists as YAML, and new data will be stored as JSON. Next, convert records from YAML to JSON using a background script.
PaperTrail::Version.where.not(old_object: nil).find_each do |version|
version.update_columns old_object: nil, object: YAML.load(version.old_object)
end
Finally, in another migration, remove the old column.
remove_column :versions, :old_object
If you use the optional object_changes
column, don't forget to convert it
also, using the same technique.
Convert a Column from Text to JSON
If your object
column already contains JSON data, and you want to change its
data type to json
or jsonb
, you can use the following DDL. Of course,
if your object
column contains YAML, you must first convert the data to JSON
(see above) before you can change the column type.
Using SQL:
alter table versions
alter column object type jsonb
using object::jsonb;
Using ActiveRecord:
class ConvertVersionsObjectToJson < ActiveRecord::Migration
def up
change_column :versions, :object, 'jsonb USING object::jsonb'
end
def down
change_column :versions, :object, 'text USING object::text'
end
end
6.c. Custom Object Changes
To fully control the contents of their object_changes
column, expert users
can write an adapter.
PaperTrail.config.object_changes_adapter = MyObjectChangesAdapter.new
class MyObjectChangesAdapter
# @param changes Hash
# @return Hash
def diff(changes)
# ...
end
end
You should only use this feature if you are comfortable reading PT's source to
see exactly how the adapter is used. For example, see how diff
is used by
reading ::PaperTrail::Events::Base#recordable_object_changes
.
An adapter can implement any or all of the following methods:
- diff: Returns the changeset in the desired format given the changeset in the original format
- load_changeset: Returns the changeset for a given version object
- where_object_changes: Returns the records resulting from the given hash of attributes.
- where_object_changes_from: Returns the records resulting from the given hash of attributes where the attributes changed from the provided value(s).
- where_object_changes_to: Returns the records resulting from the given hash of attributes where the attributes changed to the provided value(s).
- where_attribute_changes: Returns the records where the attribute changed to or from any value.
Depending on your needs, you may choose to implement only a subset of these methods.
Known Adapters
6.d. Excluding the Object Column
The object
column ends up storing a lot of duplicate data if you have models that have many columns,
and that are updated many times. You can save ~50% of storage space by removing the column from the
versions table. It's important to note that this will disable reify
and where_object
.
7. Testing
You may want to turn PaperTrail off to speed up your tests. See Turning PaperTrail Off above.
7.a. Minitest
First, disable PT for the entire ruby
process.
# in config/environments/test.rb
config.after_initialize do
PaperTrail.enabled = false
end
Then, to enable PT for specific tests, you can add a with_versioning
test
helper method.
# in test/test_helper.rb
def with_versioning
was_enabled = PaperTrail.enabled?
was_enabled_for_request = PaperTrail.request.enabled?
PaperTrail.enabled = true
PaperTrail.request.enabled = true
begin
yield
ensure
PaperTrail.enabled = was_enabled
PaperTrail.request.enabled = was_enabled_for_request
end
end
Then, use the helper in your tests.
test 'something that needs versioning' do
with_versioning do
# your test
end
end
7.b. RSpec
PaperTrail provides a helper, paper_trail/frameworks/rspec.rb
, that works with
RSpec to make it easier to control when PaperTrail
is enabled during
testing.
# spec/rails_helper.rb
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
# ...
require 'paper_trail/frameworks/rspec'
With the helper loaded, PaperTrail will be turned off for all tests by
default. To enable PaperTrail for a test you can either wrap the
test in a with_versioning
block, or pass in versioning: true
option to a
spec block.
describe 'RSpec test group' do
it 'by default, PaperTrail will be turned off' do
expect(PaperTrail).to_not be_enabled
end
with_versioning do
it 'within a `with_versioning` block it will be turned on' do
expect(PaperTrail).to be_enabled
end
end
it 'can be turned on at the `it` or `describe` level', versioning: true do
expect(PaperTrail).to be_enabled
end
end
The helper will also reset whodunnit
to nil
before each
test to help prevent data spillover between tests. If you are using PaperTrail
with Rails, the helper will automatically set the
PaperTrail.request.controller_info
value to {}
as well, again, to help
prevent data spillover between tests.
There is also a be_versioned
matcher provided by PaperTrail's RSpec helper
which can be leveraged like so:
class Widget < ActiveRecord::Base
end
describe Widget do
it 'is not versioned by default' do
is_expected.to_not be_versioned
end
describe 'add versioning to the `Widget` class' do
before(:all) do
class Widget < ActiveRecord::Base
has_paper_trail
end
end
it 'enables paper trail' do
is_expected.to be_versioned
end
end
end
Matchers
The have_a_version_with
matcher makes assertions about versions using
where_object
, based on the object
column.
describe '`have_a_version_with` matcher' do
it 'is possible to do assertions on version attributes' do
widget.update!(name: 'Leonard', an_integer: 1)
widget.update!(name: 'Tom')
widget.update!(name: 'Bob')
expect(widget).to have_a_version_with name: 'Leonard', an_integer: 1
expect(widget).to have_a_version_with an_integer: 1
expect(widget).to have_a_version_with name: 'Tom'
end
end
The have_a_version_with_changes
matcher makes assertions about versions using
where_object_changes
, based on the optional
object_changes
column.
describe '`have_a_version_with_changes` matcher' do
it 'is possible to do assertions on version changes' do
widget.update!(name: 'Leonard', an_integer: 1)
widget.update!(name: 'Tom')
widget.update!(name: 'Bob')
expect(widget).to have_a_version_with_changes name: 'Leonard', an_integer: 2
expect(widget).to have_a_version_with_changes an_integer: 2
expect(widget).to have_a_version_with_changes name: 'Bob'
end
end
For more examples of the RSpec matchers, see the Widget spec
7.c. Cucumber
PaperTrail provides a helper for Cucumber that works similar to the RSpec helper. If you want to use the helper, you will need to require in your cucumber helper like so:
# features/support/env.rb
ENV["RAILS_ENV"] ||= 'cucumber'
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
# ...
require 'paper_trail/frameworks/cucumber'
When the helper is loaded, PaperTrail will be turned off for all scenarios by a
before
hook added by the helper by default. When you want to enable PaperTrail
for a scenario, you can wrap code in a with_versioning
block in a step, like
so:
Given /I want versioning on my model/ do
with_versioning do
# PaperTrail will be turned on for all code inside of this block
end
end
The helper will also reset the whodunnit
value to nil
before each
test to help prevent data spillover between tests. If you are using PaperTrail
with Rails, the helper will automatically set the
PaperTrail.request.controller_info
value to {}
as well, again, to help
prevent data spillover between tests.
7.d. Spork
If you want to use the RSpec
or Cucumber
helpers with Spork, you will
need to manually require the helper(s) in your prefork
block on your test
helper, like so:
# spec/rails_helper.rb
require 'spork'
Spork.prefork do
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'paper_trail/frameworks/rspec'
require 'paper_trail/frameworks/cucumber'
# ...
end
7.e. Zeus or Spring
If you want to use the RSpec
or Cucumber
helpers with Zeus or
Spring, you will need to manually require the helper(s) in your test
helper, like so:
# spec/rails_helper.rb
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'paper_trail/frameworks/rspec'
8. PaperTrail Plugins
- paper_trail-active_record
- paper_trail-association_tracking - track and reify associations
- paper_trail-audit
- paper_trail-background
- paper_trail-globalid - enhances whodunnit by adding an
actor
- paper_trail-hashdiff
- paper_trail-rails
- paper_trail-related_changes
- paper_trail-sinatra
- paper_trail_actor
- paper_trail_changes
- paper_trail_manager
- paper_trail_scrapbook
- paper_trail_ui
- revertible_paper_trail
- rspec-paper_trail
- sequel_paper_trail
9. Integration with Other Libraries
- ActiveAdmin
- paper_trail_manager - Browse, subscribe, view and revert changes to records with rails and paper_trail
- rails_admin_history_rollback - History rollback for rails_admin with PT
- Sinatra - paper_trail-sinatra
- globalize - globalize-versioning
- solidus_papertrail - PT integration for Solidus method to instances of PaperTrail::Version that returns the ActiveRecord object who was responsible for change
10. Related Libraries and Ports
- izelnakri/paper_trail - An Ecto library, inspired by PT.
- sequelize-paper-trail - A JS library, inspired by PT. A sequelize plugin for tracking revision history of model instances.
Articles
- PaperTrail Gem Tutorial, 20th April 2020.
- Jutsu #8 - Version your RoR models with PaperTrail, Thibault, 29th September 2014
- Versioning with PaperTrail, Ilya Bodrov, 10th April 2014
- Using PaperTrail to track stack traces, T James Corcoran's blog, 1st October 2013.
- RailsCast #255 - Undo with PaperTrail, 28th February 2011.
- Keep a Paper Trail with PaperTrail, Linux Magazine, 16th September 2009.
Problems
Please use GitHub's issue tracker.
Contributors
Created by Andy Stewart in 2010, maintained since 2012 by Ben Atkins, since 2015 by Jared Beck, with contributions by over 150 people.
https://github.com/paper-trail-gem/paper_trail/graphs/contributors
Contributing
See our contribution guidelines
Inspirations
Intellectual Property
Copyright (c) 2011 Andy Stewart ([email protected]). Released under the MIT licence.
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