Ruby
made by https://0x3d.site
GitHub - 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 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 CSSDSL 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 ...
Visit Site
GitHub - 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 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
Glimmer 2.8.0
DSL Framework for Ruby GUI and More
If You Liked Shoes, You'll Love Glimmer!
(Original Glimmer Library Handling World’s Ruby GUI Needs Since 2007. Beware of Imitators!)
(Glimmer DSL for LibUI Won a Fukuoka Ruby 2022 Special Award [Announcement])
(RubyConf 2023 Workshop - How To Build Desktop Applications in Ruby)
(RubyConf 2022 Talk - Building Native GUI Apps in Ruby)
(Ruby Rogues Podcast Interview - Desktop Apps in Ruby ft. Andy)
GLIMMER VIDEO TUTORIAL CHANNEL
Glimmer started out as a GUI Library and grew into a full-fledged DSL Framework with support for multiple GUI DSLs. Glimmer's namesake is referring to the Glimmer of Ruby in Graphical User Interfaces (contrary to popular myth perpetrated by Charles Nutter, Glimmer has nothing to do with the ill-fated Whitney Houston movie, which does not in fact share the same name)
Featured in JRuby Cookbook and Chalmers/Gothenburg University Software Engineering Master's Lecture Material
Glimmer is a DSL (Domain-Specific Language) Framework that consists of two things:
- DSL Engine: enables building internal DSLs embedded in Ruby (e.g. for GUI, XML, or CSS).
- Data-Binding Library: enables synchronizing GUI with Model Attributes bidirectionally (now with Shine syntax support in v2, which was originally conceived back in 2007).
Glimmer is the cream of the crop when it comes to building DSLs in Ruby:
- Supports building the tersest most concise domain specific language syntax in Ruby.
- Maximum readability and maintainability.
- No extra unnecessary block variables when not needed.
- DSL Blocks are true Ruby closures that can conveniently leverage variables from the outside and utilize standard Ruby code in and around. Just code in Ruby as usual without any hinderances! No surprising restrictions or strange uses of
instance_exec
/eval
. - DSL syntax is limited to classes that mixin the
Glimmer
module, so the rest of the code is fully safe from namespace pollution. - Multiple DSLs may be mixed together safely to achieve maximum expressability, composability, and productivity.
- DSLs are fully configurable, so you may activate and deactivate DSLs as per your current needs only.
Start by checking out:
- Glimmer DSL for SWT, Glimmer's original GUI DSL (for JRuby), which got extracted into its own Ruby gem.
- Glimmer DSL for LibUI, Glimmer's GUI DSL for standard Ruby (aka MRI Ruby or CRuby), which has no prerequisites beyond installing the Ruby gem, and has won a Fukuoka Ruby 2022 Special Award.
- Glimmer DSL for Web enables using all the advanced data-binding features of Glimmer in Web Frontends by providing a Ruby HTML DSL and a Ruby CSS DSL.
Glimmer DSL Comparison Table:
DSL | Platforms | Native? | Vector Graphics? | Pros | Cons | Prereqs |
---|---|---|---|---|---|---|
Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) | Mac / Windows / Linux | Yes | Yes (Canvas Shape DSL) | Very Mature / Scaffolding / Native Executable Packaging / Custom Widgets | Slow JRuby Startup Time / Heavy Memory Footprint | Java / JRuby |
Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library) | Mac / Windows / Linux | Yes | Yes (Area API) | Very Simple Setup / Fast Startup Time / Light Memory Footprint | LibUI is an Incomplete Mid-Alpha Only | None Other Than MRI Ruby |
Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library) | Mac / Windows / Linux | Some Native-Themed Widgets (Not Truly Native) | Yes (Canvas) | Fast Startup Time / Light Memory Footprint | Complicated setup / Widgets Do Not Look Truly Native, Espcially on Linux | ActiveTcl / MRI Ruby |
Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library) | Mac / Windows / Linux | Only on Linux | Yes (Cairo) | Complete Access to GNOME Features on Linux (Forte) | Not Native on Mac and Windows | None Other Than MRI Ruby on Linux / Brew Packages on Mac / MSYS & MING Toolchains on Windows / MRI Ruby |
Glimmer DSL for FX (FOX Toolkit Ruby Desktop Development GUI Library) | Mac (requires XQuartz) / Windows / Linux | No | Yes (Canvas) | No Prerequisites on Windows (Forte Since Binaries Are Included Out of The Box) | Widgets Do Not Look Native / Mac Usage Obtrusively Starts XQuartz | None Other Than MRI Ruby on Windows / XQuarts on Mac / MRI Ruby |
Glimmer DSL for WX (wxWidgets Ruby Desktop Development GUI Library) | Mac / Windows / Linux | Yes | Yes | Fast Startup Time / Light Memory Footprint | wxruby3 is still beta and does not support Mac yet | wxWidgets, Doxygen, SWIG, GNU g++ 4.8 on Linux or RubyInstaller+DevKit on Windows |
Glimmer DSL for JFX (JRuby JavaFX Desktop Development GUI Library) | Mac / Windows / Linux | No | Yes (javafx.scene.shape and javafx.scene.canvas) | Rich in Custom Widgets | Slow JRuby Startup Time / Heavy Memory Footprint / Widgets Do Not Look Native | Java / JRuby / JavaFX SDK |
Glimmer DSL for Swing (JRuby Swing Desktop Development GUI Library) | Mac / Windows / Linux | No | Yes (Java2D) | Very Mature | Slow JRuby Startup Time / Heavy Memory Footprint / Widgets Do Not Look Native | Java / JRuby |
Glimmer DSL for Web (Ruby in the Browser Web GUI Frontend Library) | All Web Browsers | No | Yes (SVG) | Simpler than All JavaScript Technologies / Leverages Existing HTML/JS/CSS Skills | Setup Process / Early Alpha | Rails |
Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of Desktop Apps / Archived & Superseded by Glimmer DSL for Web) | All Web Browsers | No | Yes (Canvas Shape DSL) | Simpler than All JavaScript Technologies / Auto-Webify Desktop Apps | Setup Process / Incomplete Alpha | Rails |
Glimmer DSL for XML (& HTML) | All Web Browsers | No | Yes (SVG) | Programmable / Lighter-weight Than Actual XML | XML Elements Are Sometimes Not Well-Named (Many Types of Input) | None |
Glimmer DSL for CSS | All Web Browsers | No | Yes | Programmable | CSS Is Over-Engineered / Too Many Features To Learn | None |
Table of Contents
- Glimmer
- DSL Engine
- Setup
- Configuration
- Multi-DSL Support
- Official DSLs
- Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
- Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of Desktop Apps)
- Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
- Glimmer DSL for Tk (MRI Ruby Desktop Development GUI Library)
- Glimmer DSL for XML (& HTML)
- Glimmer DSL for CSS
- Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library)
- Glimmer DSL for FX (FOX Toolkit Ruby Desktop Development GUI Library)
- Glimmer DSL for WX (wXwidgets Ruby Desktop Development GUI Library)
- Glimmer DSL for JFX (JRuby JavaFX Desktop Development GUI Library)
- Glimmer DSL for Swing (JRuby Swing Desktop Development GUI Library)
- Glimmer DSL for Web (Ruby in the Browser Web GUI Frontend Library)
- Data-Binding Library
- FAQ
- Glimmer Process
- Resources
- Help
- Feature Suggestions
- Change Log
- Contributing
- Contributors
- Hire Me
- License
- DSL Engine
DSL Engine
Glimmer is fundamentally a DSL Engine that can support any number of DSLs like the official Glimmer DSLs (gems starting with the glimmer-dsl-
prefix like glimmer-dsl-swt
) or any DSLs for that matter.
Glimmer DSL syntax consists mainly of:
- keywords (e.g.
table
for a table widget) - style/args (e.g. :multi as in
table(:multi)
for a multi-line selection table widget) - content (nested properties/keywords/listeners) (e.g.
{ table_column { text 'Name'} }
as intable(:multi) { table_column { text 'Name'} }
for a multi-line selection table widget with a table column having header text property'Name'
as content) - methods (e.g.
shell.show
opens a window)
Here is a Hello, World! example from Glimmer DSL for SWT:
include Glimmer
shell(:no_resize) { # keyword + style arg
text "Glimmer" # attribute content
label { # keyword content
text "Hello, World!" # attribute content
}
}.open
That code renders the following GUI (Graphical User Interface):
The Glimmer DSL Engine's architecture is based on the following Design Patterns and Data Structures:
- Interpreter Design Pattern: to define interpretable expressions of DSL keywords
- Chain of Responsibility Design Pattern / Queue Data Structure: to chain expression handlers in order of importance for processing DSL keywords
- Adapter Design Pattern: to adapt expressions into handlers in a chain of responsibility
- Stack Data Structure: to handle processing parent/child nesting of DSL keyword expressions in the correct order
- Proxy Design Pattern: to shield consumers of GUI libraries built with Glimmer from low-level GUI widget details
Glimmer's use of the Interpreter Design Pattern in processing DSLs is also known as the Virtual Machine Architectural Style. After all, DSL expressions are virtual machine opcodes that process nested keywords stored in a stack. I built Glimmer's original DSL back in 2007 without knowing the Virtual Machine Architectural Style (except perhaps as an esoteric technology powering Java), but stumbled upon it anyways through following the Gang of Four Design Patterns mentioned above, chiefly the Interpreter Design Pattern and the Chain of Responsibility Design Pattern.
Every keyword in a Glimmer DSL is represented by a DSL expression that is processed by an Expression
subclass selected from a chain of expressions (interpreters) pre-configured in a DSL chain of responsibility via Glimmer::DSL::Engine.add_dynamic_expressions(DSLNameModule, expression_names_array)
.
Expressions are either:
- Static (subclass of
StaticExpression
, which is a subclass ofExpression
): if they represent a single pre-identified keyword (e.g.color
ordisplay
) - Dynamic (subclass of
Expression
): if they represent keywords calculated on the fly during processing (e.g. an SWT widget likelabel
or a random XML element calledfolder
representing<folder></folder>
)
Optionally, expressions can be parent expressions that contain other expressions, and must include the ParentExpression
mixin module as such.
Additionally, every expression that serves as a top-level entry point into the DSL must mixin TopLevelExpression
Static expressions are optimized in performance since they pre-define methods on the Glimmer
module matching the static keywords they represent (e.g. color
causes creating a Glimmer#color
method for processing color
expressions) and completely bypass as a result the Glimmer DSL Engine Chain of Responsibility. That said, they must be avoided if the same keyword might occur multiple times, but with different requirements for arguments, block, and parenthood type.
Every Expression
sublcass must specify two methods at least:
can_interpret?(parent, keyword, *args, &block)
: to quickly test if the keyword and arg/block/parent combination qualifies for interpretation by the currentExpression
or to otherwise delegate to the next expression in the chain of responsibility.interpret(parent, keyword, *args, &block)
: to go ahead and interpret a DSL expression that qualified for interpretation
StaticExpression
sublcasses may skip the can_interpret?
method since they include a default implementation for it that matches the name of the keyword from the class name by convention. For example, a color
keyword would have a ColorExpression
class, so color
is inferred automatically from class name and used in deciding whether the class can handle a color
keyword or not.
StaticExpression
may declare the following class method options (if any other than downcased
(default) is set, then downcased
must be set explicitly if needed):
downcased true
(default): indicates that the StaticExpression expects downcased keywords (e.g.COLOR {}
)upcased true
: indicates that the StaticExpression expects upcased keywords (e.g.COLOR {}
). Note that upcased static expressions always expect either argument parentheses or block curly braces to be invoked as a static expression method instead of a constant.capitalized true
: indicates that the StaticExpression expects capitalized keywords (e.g.Color {}
). Note that capitalized static expressions always expect either argument parentheses or block curly braces to be invoked as a static expression method instead of a constant.case_insensitive true
: indicates that the StaticExpression supports downcased, upcased, and capitalized keywords (e.g.color {}
,COLOR {}
, andColor {}
). Note that upcased/capitalized static expressions always expect either argument parentheses or block curly braces to be invoked as a static expression method instead of a constant.
ParentExpression
subclasses can optionally override this extra method, which is included by default and simply invokes the parent's passed block to process its children:
add_content(parent, keyword, *args, &block)
For example, some parent widgets use their block for other reasons or process their children at very specific times, so they may override that method and disable it, or otherwise call super
and do additional work.
Otherwise, all expressions support the around
hook method:
around(parent, keyword, args, block, &interpret_and_add_content)
: a hook for executing code around bothinterpret
andadd_content
. Clients may invokeinterpret_and_add_content.call
oryield
when ready for interpretation.parent
,keyword
,args
, andblock
are supplied in case they are needed in thearound
logic.
Example of a dynamic expression:
module Glimmer
module DSL
module SWT
class WidgetExpression < Expression
include ParentExpression
EXCLUDED_KEYWORDS = %w[shell display tab_item]
def can_interpret?(parent, keyword, *args, &block)
!EXCLUDED_KEYWORDS.include?(keyword) and
parent.respond_to?(:swt_widget) and
Glimmer::SWT::WidgetProxy.widget_exists?(keyword)
end
def interpret(parent, keyword, *args, &block)
Glimmer::SWT::WidgetProxy.create(keyword, parent, args)
end
def add_content(parent, keyword, *args, &block)
super
parent.post_add_content
end
end
end
end
end
Example of a static expression (does not need can_interpret?
):
module Glimmer
module DSL
module Opal
class ColorExpression < StaticExpression
include TopLevelExpression
def interpret(parent, keyword, *args, &block)
Glimmer::SWT::ColorProxy.new(*args)
end
end
end
end
end
Extra convenience expression mixins/superclasses for use via inclusion/subclassing in Glimmer GUI libraries:
Glimmer::DSL::BindExpression
: enables usage ofbind
data-binding keyword to build aGlimmer::DataBinding::ModelBinding
object for data-binding purposes.Glimmer::DSL::ShineDataBindingExpression
: enables Shine data-binding syntax viaGlimmer::DataBinding::Shine
, a facade for thebind
keyword, hiding it with the<=>
operator for bidirectional (two-way) data-binding and the<=
operator for unidirectional (one-way) data-binding.Glimmer::DSL::ObserveExpression
: enables a one-wayobserve
operation. You may learn more about them by looking at how Glimmer DSL for SWT uses them.
DSL expressions go into the glimmer/dsl/{dsl_name}
namespace directory.
Also, every DSL requires a glimmer/dsl/{dsl_name}/dsl.rb
file, which configures the DSL into Glimmer via a call to:
Glimmer::DSL::Engine.add_dynamic_expressions(DSLNameModule, expression_names_array)
Expression names are underscored verions of Expression
subclass names minus the _expression
suffix.
For example, here is an SWT DSL configuration:
require 'glimmer/launcher'
require Glimmer::Launcher.swt_jar_file
require 'glimmer/dsl/engine'
Dir[File.expand_path('../*_expression.rb', __FILE__)].each {|f| require f}
module Glimmer
module DSL
module SWT
Engine.add_dynamic_expressions(
SWT,
%w[
layout
widget_listener
combo_selection_data_binding
checkbox_group_selection_data_binding
radio_group_selection_data_binding
list_selection_data_binding
tree_items_data_binding
table_items_data_binding
data_binding
cursor
font
image
property
block_property
widget
custom_widget
]
)
end
end
end
Setup
Follow these steps to author a Glimmer DSL:
- Add
gem 'glimmer', '~> 2.8.0'
toGemfile
and runbundle
or rungem install glimmer -v2.8.0
and addrequire 'glimmer'
- Create
glimmer/dsl/[dsl_name]/dsl.rb
, which requires and adds all dynamic expressions for the [dsl_name] Glimmer DSL module as per the code shown in the previous section (or Official DSLs as examples) - Create
glimmer/dsl/[dsl_name]/[expresion_name]_expresion.rb
for every [expresion_name] expression needed, whether dynamic or static
Configuration
Glimmer configuration may be done via the Glimmer::Config
module.
logger
The Glimmer DSL engine supports logging via a standard STDOUT
Ruby Logger
configured in the Glimmer::Config.logger
config option.
It is set to level Logger::ERROR by default.
Log level may be adjusted via Glimmer::Config.logger.level
just like any other Ruby Logger.
Example:
Glimmer::Config.logger.level = :debug
This results in more verbose debug loggging to STDOUT
, which is very helpful in troubleshooting Glimmer DSL syntax when needed.
Example log:
D, [2017-07-21T19:23:12.587870 #35707] DEBUG -- : method: shell and args: []
D, [2017-07-21T19:23:12.594405 #35707] DEBUG -- : ShellCommandHandler will handle command: shell with arguments []
D, [2017-07-21T19:23:12.844775 #35707] DEBUG -- : method: composite and args: []
D, [2017-07-21T19:23:12.845388 #35707] DEBUG -- : parent is a widget: true
D, [2017-07-21T19:23:12.845833 #35707] DEBUG -- : on listener?: false
D, [2017-07-21T19:23:12.864395 #35707] DEBUG -- : WidgetCommandHandler will handle command: composite with arguments []
D, [2017-07-21T19:23:12.864893 #35707] DEBUG -- : widget styles are: []
D, [2017-07-21T19:23:12.874296 #35707] DEBUG -- : method: list and args: [:multi]
D, [2017-07-21T19:23:12.874969 #35707] DEBUG -- : parent is a widget: true
D, [2017-07-21T19:23:12.875452 #35707] DEBUG -- : on listener?: false
D, [2017-07-21T19:23:12.878434 #35707] DEBUG -- : WidgetCommandHandler will handle command: list with arguments [:multi]
D, [2017-07-21T19:23:12.878798 #35707] DEBUG -- : widget styles are: [:multi]
The logger
instance may be replaced with a custom logger via Glimmer::Config.logger = custom_logger
To reset logger
to the default instance, you may call Glimmer::Config.reset_logger!
All logging is done lazily via blocks (e.g. logger.debug {message}
) to avoid affecting app performance with logging when below the configured logging level threshold.
Glimmer DSL for SWT enhances Glimmer default logging support via the Ruby logging
gem, enabling buffered asynchronous logging in a separate thread, thus completely unhindering normal desktop app performance.
loop_max_count
Glimmer has infinite loop detection support. It can detect when an infinite loop is about to occur in method_missing and stops it. It detects potential infinite loops when the same keyword and args repeat more than 100 times, which is unusual in a GUI app.
The max limit can be changed via the Glimmer::Config::loop_max_count=(count)
config option.
Infinite loop detection may be disabled altogether if needed by setting Glimmer::Config::loop_max_count
to -1
excluded_keyword_checkers
Glimmer permits consumers to exclude keywords from DSL processing by its engine via the excluded_keyword_checkers
config option.
To do so, add a proc to it that returns a boolean indicating if a keyword is excluded or not.
Note that this proc runs within the context of the Glimmer object (as in the object mixing in the Glimmer module), so checker can can pretend to run there with its self
object assumption.
Example of keywords excluded by glimmer-dsl-swt:
Glimmer::Config.excluded_keyword_checkers << lambda do |method_symbol, *args|
method = method_symbol.to_s
result = false
result ||= method.start_with?('on_swt_') && is_a?(Glimmer::UI::CustomWidget) && respond_to?(method)
result ||= method == 'dispose' && is_a?(Glimmer::UI::CustomWidget) && respond_to?(method)
result ||= ['drag_source_proxy', 'drop_target_proxy'].include?(method) && is_a?(Glimmer::UI::CustomWidget)
result ||= method == 'post_initialize_child'
result ||= method.end_with?('=')
result ||= ['finish_edit!', 'search', 'all_tree_items', 'depth_first_search'].include?(method) && is_a?(Glimmer::UI::CustomWidget) && body_root.respond_to?(method)
end
log_excluded_keywords
(default = false)
This just tells Glimmer whether to log excluded keywords or not (at the debug level). It is off by default.
Multi-DSL Support
The Glimmer DSL Engine allows mixing DSLs, which comes in handy when doing things like rendering a desktop GUI DSL browser
widget additionally leveraging the HTML DSL and CSS DSL for its content.
DSLs are activated by top-level keywords (expressions denoted as TopLevelExpression
). For example, the html
keyword activates the Glimmer DSL for XML and the css
keyword activates the Glimmer DSL for CSS. Glimmer automatically recognizes top-level keywords in each DSL and activates the DSL accordingly. Once done processing a nested DSL top-level keyword, Glimmer switches back to the prior DSL automatically.
By default, all loaded DSLs (required glimmer DSL gems) are enabled.
For example, this shows "Hello, World!" inside a Glimmer DSL for SWT desktop app browser
widget using html
and css
from Glimmer DSL for XML and Glimmer DSL for CSS:
require 'glimmer-dsl-swt'
require 'glimmer-dsl-xml'
require 'glimmer-dsl-css'
include Glimmer
shell {
minimum_size 130, 130
@browser = browser {
text html {
head {
meta(name: "viewport", content: "width=device-width, initial-scale=2.0")
style {
css {
h1 {
background 'yellow'
}
}
}
}
body {
h1 { "Hello, World!" }
}
}
}
}.open
API methods to enable/disable DSLs:
Glimmer::DSL::Engine.disable_dsl(dsl)
: disables a particular DSL
Example: Glimmer::DSL::Engine.disable_dsl(:swt)
Glimmer::DSL::Engine.enable_dsl(dsl)
: enables a particular DSL
Example: Glimmer::DSL::Engine.disable_dsl(:swt)
Glimmer::DSL::Engine.enabled_dsls=(dsls)
: enables only the specified DSLs, disabling all other loaded DSLs
Example: Glimmer::DSL::Engine.enabled_dsls = [:xml, :css]
Official DSLs
Here, we showcase official Glimmer DSLs; that is gems starting with the glimmer-dsl-
prefix.
(you can skip ahead if you prefer to learn more about the Glimmer DSL Engine or Data-Binding Library first)
Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
Glimmer DSL for SWT is a native-GUI cross-platform desktop development library written in JRuby, an OS-threaded faster version of Ruby. Glimmer's main innovation is a declarative Ruby DSL that enables productive and efficient authoring of desktop application user-interfaces while relying on the robust Eclipse SWT library. Glimmer DSL for SWT additionally innovates by having built-in data-binding support, which greatly facilitates synchronizing the GUI with domain models, thus achieving true decoupling of object oriented components and enabling developers to solve business problems (test-first) without worrying about GUI concerns, or alternatively drive development GUI-first, and then write clean business models (test-first) afterwards. To get started quickly, Glimmer DSL for SWT offers scaffolding options for Apps, Gems, and Custom Widgets. Glimmer DSL for SWT also includes native-executable packaging support, sorely lacking in other libraries, thus enabling the delivery of desktop apps written in Ruby as truly native DMG/PKG/APP files on the Mac + App Store and MSI/EXE files on Windows.
To get started, visit the Glimmer DSL for SWT project page for instructions on installing the glimmer-dsl-swt gem.
Glimmer DSL for SWT Samples
Hello, World!
Glimmer GUI code (from samples/hello/hello_world.rb):
include Glimmer
shell {
text "Glimmer"
label {
text "Hello, World!"
}
}.open
Glimmer Tetris
Glimmer GUI code (from samples/elaborate/tetris.rb):
# ...
shell(:no_resize) {
grid_layout {
num_columns 2
make_columns_equal_width false
margin_width 0
margin_height 0
horizontal_spacing 0
}
text 'Glimmer Tetris'
minimum_size 475, 500
background :gray
tetris_menu_bar(game: game)
playfield(game_playfield: game.playfield, playfield_width: playfield_width, playfield_height: playfield_height, block_size: BLOCK_SIZE)
score_lane(game: game, block_size: BLOCK_SIZE) {
layout_data(:fill, :fill, true, true)
}
}
# ...
Hello, Table!
Glimmer GUI code (from samples/hello/hello_table.rb):
# ...
shell {
grid_layout
text 'Hello, Table!'
label {
layout_data :center, :center, true, false
text 'Baseball Playoff Schedule'
font height: 30, style: :bold
}
combo(:read_only) {
layout_data :center, :center, true, false
selection bind(BaseballGame, :playoff_type)
font height: 16
}
table(:editable) { |table_proxy|
layout_data :fill, :fill, true, true
table_column {
text 'Game Date'
width 150
sort_property :date # ensure sorting by real date value (not `game_date` string specified in items below)
editor :date_drop_down, property: :date_time
}
table_column {
text 'Game Time'
width 150
sort_property :time # ensure sorting by real time value (not `game_time` string specified in items below)
editor :time, property: :date_time
}
table_column {
text 'Ballpark'
width 180
editor :none
}
table_column {
text 'Home Team'
width 150
editor :combo, :read_only # read_only is simply an SWT style passed to combo widget
}
table_column {
text 'Away Team'
width 150
editor :combo, :read_only # read_only is simply an SWT style passed to combo widget
}
table_column {
text 'Promotion'
width 150
# default text editor is used here
}
# Data-bind table items (rows) to a model collection property, specifying column properties ordering per nested model
items bind(BaseballGame, :schedule), column_properties(:game_date, :game_time, :ballpark, :home_team, :away_team, :promotion)
# Data-bind table selection
selection bind(BaseballGame, :selected_game)
# Default initial sort property
sort_property :date
# Sort by these additional properties after handling sort by the column the user clicked
additional_sort_properties :date, :time, :home_team, :away_team, :ballpark, :promotion
menu {
menu_item {
text 'Book'
on_widget_selected {
book_selected_game
}
}
}
}
button {
text 'Book Selected Game'
layout_data :center, :center, true, false
font height: 16
enabled bind(BaseballGame, :selected_game)
on_widget_selected {
book_selected_game
}
}
}.open
# ...
Production Desktop Apps Built with Glimmer DSL for SWT
Are We There Yet? - Small Project Tracking App (leveraging ActiveRecord and SQLite)
Math Bowling - Elementary Level Math Game Featuring Bowling Rules
Garderie Rainbow Daily Agenda - A child nursery daily agenda reporting desktop app (communicates to a Rails Server and stores data using ActiveRecord/PostgreSQL [in its rails_server branch])
Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of Desktop Apps)
Glimmer DSL for Opal is an experimental proof-of-concept web GUI adapter for Glimmer desktop apps (i.e. apps built with Glimmer DSL for SWT). It webifies them via Rails, allowing Ruby desktop apps to run on the web via Opal Ruby without changing a line of code. Apps may then be custom-styled for the web with standard CSS.
Glimmer DSL for Opal webifier successfully reuses the entire Glimmer core DSL engine in Opal Ruby inside a web browser, and as such inherits the full range of Glimmer desktop data-binding capabilities for the web.
To get started, visit the Glimmer DSL for Opal project page for instructions on installing the glimmer-dsl-opal gem.
Glimmer DSL for Opal Samples
Hello, Computed!
Add the following require statement to app/assets/javascripts/application.rb
require 'samples/hello/hello_computed'
Or add the Glimmer code directly if you prefer to play around with it:
class HelloComputed
class Contact
attr_accessor :first_name, :last_name, :year_of_birth
def initialize(attribute_map)
@first_name = attribute_map[:first_name]
@last_name = attribute_map[:last_name]
@year_of_birth = attribute_map[:year_of_birth]
end
def name
"#{last_name}, #{first_name}"
end
def age
Time.now.year - year_of_birth.to_i
rescue
0
end
end
end
class HelloComputed
include Glimmer
def initialize
@contact = Contact.new(
first_name: 'Barry',
last_name: 'McKibbin',
year_of_birth: 1985
)
end
def launch
shell {
text 'Hello, Computed!'
composite {
grid_layout {
num_columns 2
make_columns_equal_width true
horizontal_spacing 20
vertical_spacing 10
}
label {text 'First &Name: '}
text {
text bind(@contact, :first_name)
layout_data {
horizontal_alignment :fill
grab_excess_horizontal_space true
}
}
label {text '&Last Name: '}
text {
text bind(@contact, :last_name)
layout_data {
horizontal_alignment :fill
grab_excess_horizontal_space true
}
}
label {text '&Year of Birth: '}
text {
text bind(@contact, :year_of_birth)
layout_data {
horizontal_alignment :fill
grab_excess_horizontal_space true
}
}
label {text 'Name: '}
label {
text bind(@contact, :name, computed_by: [:first_name, :last_name])
layout_data {
horizontal_alignment :fill
grab_excess_horizontal_space true
}
}
label {text 'Age: '}
label {
text bind(@contact, :age, on_write: :to_i, computed_by: [:year_of_birth])
layout_data {
horizontal_alignment :fill
grab_excess_horizontal_space true
}
}
}
}.open
end
end
HelloComputed.new.launch
Glimmer app on the desktop (using glimmer-dsl-swt
gem):
Glimmer app on the web (using glimmer-dsl-opal
gem):
Start the Rails server:
rails s
Visit http://localhost:3000
You should see "Hello, Computed!"
Glimmer Calculator
Add the glimmer-cs-calculator gem to Gemfile
(without requiring):
gem 'glimmer-cs-calculator', require: false
Add the following require statement to app/assets/javascripts/application.rb
require 'glimmer-cs-calculator/launch'
Sample GUI code (relies on custom widgets command_button
, operation_button
, and number_button
):
# ...
shell {
minimum_size (OS.mac? ? 320 : (OS.windows? ? 390 : 520)), 240
image File.join(APP_ROOT, 'package', 'windows', "Glimmer Calculator.ico") if OS.windows?
text "Glimmer - Calculator"
grid_layout 4, true
# Setting styled_text to multi in order for alignment options to activate
styled_text(:multi, :wrap, :border) {
text bind(@presenter, :result)
alignment swt(:right)
right_margin 5
font height: 40
layout_data(:fill, :fill, true, true) {
horizontal_span 4
}
editable false
caret nil
}
command_button('AC')
operation_button('÷')
operation_button('×')
operation_button('−')
(7..9).each { |number|
number_button(number)
}
operation_button('+', font: @button_font_big, vertical_span: 2)
(4..6).each { |number|
number_button(number)
}
(1..3).each { |number|
number_button(number)
}
command_button('=', font: @button_font_big, vertical_span: 2)
number_button(0, horizontal_span: 2)
operation_button('.')
}
# ...
Glimmer app on the desktop (using the glimmer-dsl-swt
gem):
Glimmer app on the web (using glimmer-dsl-opal
gem):
Start the Rails server:
rails s
Visit http://localhost:3000
(or visit: http://glimmer-cs-calculator-server.herokuapp.com)
You should see "Glimmer Calculator"
Here is an Apple Calculator CSS themed version (with CSS only, no app code changes):
Visit http://glimmer-cs-calculator-server.herokuapp.com/welcomes/apple
You should see "Apple Calculator Theme"
Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
Glimmer DSL for LibUI is a prerequisite-free Ruby desktop development GUI library. No need to pre-install any prerequisites. Just install the gem and have platform-independent native GUI that just works!
LibUI is a thin Ruby wrapper around libui, a relatively new C GUI library that renders native controls on every platform (similar to SWT, but without the heavy weight of the Java Virtual Machine).
The main trade-off in using Glimmer DSL for LibUI as opposed to Glimmer DSL for SWT or Glimmer DSL for Tk is the fact that SWT and Tk are more mature than mid-alpha libui as GUI toolkits. Still, if there is only a need to build a small simple application, Glimmer DSL for LibUI could be a good convenient choice due to having zero prerequisites beyond the dependencies included in the Ruby gem. Also, just like Glimmer DSL for Tk, its apps start instantly and have a small memory footprint. LibUI is a promising new GUI toolkit that might prove quite worthy in the future.
Glimmer DSL for LibUI aims to provide a DSL similar to the Glimmer DSL for SWT to enable more productive desktop development in Ruby with:
- Declarative DSL syntax that visually maps to the GUI widget hierarchy
- Convention over configuration via smart defaults and automation of low-level details
- Requiring the least amount of syntax possible to build GUI
- Bidirectional Data-Binding to declaratively wire and automatically synchronize GUI with Business Models
- Custom Widget support
- Scaffolding for new custom widgets, apps, and gems
- Native-Executable packaging on Mac, Windows, and Linux
Glimmer DSL for LibUI Samples
Hello, World!
require 'glimmer-dsl-libui'
include Glimmer
window('hello world').show
Mac
Windows
Linux
Basic Table Progress Bar
require 'glimmer-dsl-libui'
include Glimmer
data = [
['task 1', 0],
['task 2', 15],
['task 3', 100],
['task 4', 75],
['task 5', -1],
]
window('Task Progress', 300, 200) {
vertical_box {
table {
text_column('Task')
progress_bar_column('Progress')
cell_rows data # implicit data-binding
}
button('Mark All As Done') {
stretchy false
on_clicked do
data.each_with_index do |row_data, row|
data[row] = [row_data[0], 100] # automatically updates table due to implicit data-binding
end
end
}
}
}.show
Mac
Windows
Linux
Area Gallery
require 'glimmer-dsl-libui'
include Glimmer
window('Area Gallery', 400, 400) {
area {
path { # declarative stable path
square(0, 0, 100)
square(100, 100, 400)
fill r: 102, g: 102, b: 204
}
path { # declarative stable path
rectangle(0, 100, 100, 400)
rectangle(100, 0, 400, 100)
fill r: 204, g: 102, b: 204
}
path { # declarative stable path
figure(100, 100) {
line(100, 400)
line(400, 100)
line(400, 400)
closed true
}
fill r: 202, g: 102, b: 104, a: 0.5
stroke r: 0, g: 0, b: 0
}
path { # declarative stable path
figure(0, 0) {
bezier(200, 100, 100, 200, 400, 100)
bezier(300, 100, 100, 300, 100, 400)
bezier(100, 300, 300, 100, 400, 400)
closed true
}
fill r: 202, g: 102, b: 204, a: 0.5
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
}
path { # declarative stable path
arc(200, 200, 90, 0, 360, false)
fill r: 202, g: 102, b: 204, a: 0.5
stroke r: 0, g: 0, b: 0, thickness: 2
}
on_mouse_event do |area_mouse_event|
p area_mouse_event
end
on_mouse_moved do |area_mouse_event|
puts 'moved'
end
on_mouse_down do |area_mouse_event|
puts 'mouse down'
end
on_mouse_up do |area_mouse_event|
puts 'mouse up'
end
on_mouse_drag_started do |area_mouse_event|
puts 'drag started'
end
on_mouse_dragged do |area_mouse_event|
puts 'dragged'
end
on_mouse_dropped do |area_mouse_event|
puts 'dropped'
end
on_mouse_entered do
puts 'entered'
end
on_mouse_exited do
puts 'exited'
end
on_key_event do |area_key_event|
p area_key_event
end
on_key_up do |area_key_event|
puts 'key up'
end
on_key_down do |area_key_event|
puts 'key down'
end
}
}.show
Mac
Windows
Linux
Glimmer DSL for Tk (MRI Ruby Desktop Development GUI Library)
Tcl/Tk has recently improved by gaining native looking themed widgets on Mac, Windows, and Linux in Tk version 8.5. Additionally, Ruby 3.0 Ractor (formerly known as Guilds) supports truly parallel multi-threading, making both MRI and Tk finally viable for support in Glimmer (Ruby Desktop Development GUI Library) as an alternative to JRuby on SWT.
The trade-off is that while SWT provides a plethora of high quality reusable widgets for the Enterprise (such as Nebula), Tk enables very fast app startup time and a small memory footprint via MRI Ruby.
Glimmer DSL for Tk aims to provide a DSL similar to the Glimmer DSL for SWT to enable more productive desktop development in Ruby with:
- Declarative DSL syntax that visually maps to the GUI widget hierarchy
- Convention over configuration via smart defaults and automation of low-level details
- Requiring the least amount of syntax possible to build GUI
- Bidirectional Data-Binding to declaratively wire and automatically synchronize GUI with Business Models
- Custom Widget support
- Scaffolding for new custom widgets, apps, and gems
- Native-Executable packaging on Mac, Windows, and Linux
To get started, visit the Glimmer DSL for Tk project page for instructions on installing the glimmer-dsl-tk gem.
Glimmer DSL for Tk Samples
Hello, World!
Glimmer code (from samples/hello/hello_world.rb):
include Glimmer
root {
label {
text 'Hello, World!'
}
}.open
Run (with the glimmer-dsl-tk gem installed):
ruby -r glimmer-dsl-tk -e "require '../samples/hello/hello_world.rb'"
Glimmer app:
Hello, Notebook!
Glimmer code (from samples/hello/hello_tab.rb):
include Glimmer
root {
title 'Hello, Notebook!'
notebook {
frame(text: 'English') {
label {
text 'Hello, World!'
}
}
frame(text: 'French') {
label {
text 'Bonjour, Univers!'
}
}
}
}.open
Run (with the glimmer-dsl-tk gem installed):
ruby -r glimmer-dsl-tk -e "require '../samples/hello/hello_notebook.rb'"
Glimmer app:
Hello, Combobox!
Glimmer code (from samples/hello/hello_combobox.rb):
require 'glimmer-dsl-tk'
class Person
attr_accessor :country, :country_options
def initialize
self.country_options=["", "Canada", "US", "Mexico"]
self.country = "Canada"
end
def reset_country
self.country = "Canada"
end
end
class HelloCombobox
include Glimmer
def launch
person = Person.new
root {
title 'Hello, Combobox!'
combobox {
readonly true # this applies to text editing only (item selection still triggers a write to model)
text <=> [person, :country]
}
button {
text "Reset Selection"
command {
person.reset_country
}
}
}.open
end
end
HelloCombobox.new.launch
Run (with the glimmer-dsl-tk gem installed):
ruby -r glimmer-dsl-tk -e "require '../samples/hello/hello_combobox.rb'"
Glimmer app:
Glimmer DSL for XML (& HTML)
Glimmer DSL for XML provides Ruby syntax for building XML (eXtensible Markup Language) documents.
Within the context of desktop development, Glimmer DSL for XML is useful in providing XML data for the SWT Browser widget.
XML DSL
Simply start with html
keyword and add HTML inside its block using Glimmer DSL syntax.
Once done, you may call to_s
, to_xml
, or to_html
to get the formatted HTML output.
Here are all the Glimmer XML DSL top-level keywords:
html
tag
: enables custom tag creation for exceptional cases by passing tag name as '_name' attributename_space
: enables namespacing html tags
Element properties are typically passed as a key/value hash (e.g. section(id: 'main', class: 'accordion')
) . However, for properties like "selected" or "checked", you must leave value nil
or otherwise pass in front of the hash (e.g. input(:checked, type: 'checkbox')
)
Example (basic HTML):
@xml = html {
head {
meta(name: "viewport", content: "width=device-width, initial-scale=2.0")
}
body {
h1 { "Hello, World!" }
}
}
puts @xml
Output:
<html><head><meta name="viewport" content="width=device-width, initial-scale=2.0" /></head><body><h1>Hello, World!</h1></body></html>
Glimmer DSL for CSS
Glimmer DSL for CSS provides Ruby syntax for building CSS (Cascading Style Sheets).
Within the context of Glimmer app development, Glimmer DSL for CSS is useful in providing CSS for the SWT Browser widget.
CSS DSL
Simply start with css
keyword and add stylesheet rule sets inside its block using Glimmer DSL syntax.
Once done, you may call to_s
or to_css
to get the formatted CSS output.
css
is the only top-level keyword in the Glimmer CSS DSL
Selectors may be specified by s
keyword or HTML element keyword directly (e.g. body
)
Rule property values may be specified by pv
keyword or underscored property name directly (e.g. font_size
)
Example:
@css = css {
body {
font_size '1.1em'
pv 'background', 'white'
}
s('body > h1') {
background_color :red
pv 'font-size', '2em'
}
}
puts @css
Output:
body{font-size:1.1em;background:white}body > h1{background-color:red;font-size:2em}
Data-Binding Library
Data-Binding enables mapping GUI properties (like text and color) to Model attributes (like name and age) for bidirectional or unidirectional synchronization and conversion as needed.
Data-binding supports utilizing the MVP (Model View Presenter) flavor of MVC by observing both the View and a Presenter for changes and updating the opposite side upon encountering them. This enables writing more decoupled cleaner code that keeps View code and Model code disentangled and highly maintainable.
Glimmer enhances observed models automatically (including array operations like <<
, delete
, and reject!
) on first observation. As such, you get automatic observable support, including nested and computed observations. No need to change your model code to data-bind it to the view or add repetitive boilerplate modules. View data-binding is truly decoupled from model logic by being able to observe any model attribute (Ruby attribute reader/writer combo or Ruby attribute reader alone for read-only data-binding when needed)
This relies mainly on the Observer Design Pattern and the MVP (Model-View-Presenter) Architectural Pattern (a variation on MVC)
These are the main classes concerning data-binding:
Glimmer::DataBinding::Observer
: Provides general observer support including unique registration and deregistration for cleanup and prevention of memory leaks. Main methods concerned are:call
,register
(alias:observe
), andunregister
(alias:unobserve
orderegister
). Passing the optionignore_frozen: true
at the end of the args ofregister
(alias:observe
) method results in silently ignoring any passed frozen observable without raising an error (it raises an error otherwise for frozen/immutable objects).Glimmer::DataBinding::Observable
: General super-module for all observables. Main methods concerned are:add_observer
andremove_observer
Glimmer::DataBinding::ObservableModel
: Mixin module for any observable model (Object
,Struct
orOpenStruct
) with observable attributes (observes attribute writers andStruct
/OpenStruct
:[]=
method). In addition toObservable
methods, it has anotify_observers
method to be called when changes occur. It automatically enhances all attribute setters (ending with=
) to notify observers on changes. Also, it automatically handles observing array attributes usingObservableArray
appropriately so they would notify observers upon array mutation changes.:attribute_writer_type
option can be specified (default::attribute=
) to observe different attribute styles (e.g.attribute_writer_type: [:attribute=, :set_attribute]
).Glimmer::DataBinding::ObservableArray
: Mixin module for any observable array collection that automatically handles notifying observers upon performing array mutation operations (e.g.push
,select!
, ordelete
) recursively (meaning if an array contained arrays and they changed, observers are notified). Acceptsrecursive: true
option inadd_observer
method to recursively observe nested arrays all the way down. Alternatively, passrecursive: [integer]
to limit recursion inArray
observation to a specific number of levels beyond the first level (which is always included).Glimmer::DataBinding::ObservableHash
: Mixin module for any observable hash that automatically handles notifying observers upon performing hash mutation operations (e.g.hash[key]=value
,select!
,merge!
). Also, it automatically handles observing array values usingObservableArray
appropriately so they would notify observers upon array mutation changes.Glimmer::DataBinding::ModelBinding
: a higher-level abstraction that relies on all the other observer/observable classes to support basic data-binding, nested data-binding, and computed data-bindingGlimmer::DataBinding::Shine
: enables highly intuitive and visually expressive syntax to perform bidirectional (two-way) data-binding with<=>
and unidirectional (one-way) data-binding with<=
To do simple observation of models, arrays, or hashes, you can use the Glimmer::DataBinding::Observer::proc
method, which builds an observer from a block. When invoking the #observe
method on it, it automatically enhances the object argument being observed into an Observable
(whether ObservableModel
, ObservableArray
, or ObervableHash
).
Example of observing a model attribute:
Glimmer::DataBinding::Observer.proc do |new_value|
# Do some work with new value for model attribute
end.observe(model, attribute)
Example of observing an array recursively (avoid recursion unless really needed since it fires on all fine-grained nested array changes):
Glimmer::DataBinding::Observer.proc do |new_value|
# Do some work with new array value
end.observe(array, recursive: true)
Example of observing a hash key:
Glimmer::DataBinding::Observer.proc do |new_value|
# Do some work with new value for hash key
end.observe(hash, :price)
Example of observing a hash for all key changes:
Glimmer::DataBinding::Observer.proc do |new_value, changed_key|
# Do some work with new value and changed key for hash
end.observe(hash)
If you would like to observe nested model attribute changes, you can use the more advanced Glimmer::DataBinding::ModelBinding
class instead.
Example of observing nested model attributes:
ModelBinding.new(model, "address1.street").add_observer do |new_address1_street_value|
# Do some work with new address 1 street value
end
Example of observing indexed array changes (specifying an array index) (combined with a nested model attribute):
ModelBinding.new(model, "employees[5].name").add_observer do |new_employee_6_name|
# Do some work with new employee 6 (index 5)'s name
end
Example of observing double-indexed nested array changes:
ModelBinding.new(model, "grid[5][7]").add_observer do |new_grid_cell_value|
# Do some work with new grid cell value for row index 5 and column index 7
end
Example of observing keyed hash changes (specifying a hash key as Symbol
or single/double-quoted String
) (combined with a nested model attribute):
ModelBinding.new(model, "employees[:manager].name").add_observer do |new_employee_6_name|
# Do some work with new manager employee's name
end
Data-bound ModelBinding
attribute can be:
- Direct:
Symbol
representing attribute reader/writer (e.g.[person, :name
]) - Nested:
String
representing nested attribute path (e.g.[company, 'address.street']
). That results in "nested data-binding" - Indexed:
String
containing array attribute index (e.g.[customer, 'addresses[0].street']
). That results in "indexed data-binding" - Keyed:
String
containing hash attribute key (e.g.[customer, 'addresses[:main].street']
). That results in "keyed data-binding"
Data-binding options include:
before_read {|value| ...}
: performs an operation before reading data from Model to update View.on_read {|value| ...}
: converts value read from Model to update the View.after_read {|converted_value| ...}
: performs an operation after read from Model to update View.before_write {|value| ...}
: performs an operation before writing data to Model from View.on_write {|value| ...}
: converts value read from View to update the Model.after_write {|converted_value| ...}
: performs an operation after writing to Model from View.computed_by attribute
orcomputed_by [attribute1, attribute2, ...]
: indicates model attribute is computed from specified attribute(s), thus updated when they are updated. That is known as "computed data-binding".
Note that if an observed model attribute or hash key is an Array
, it is automatically observed for Array
changes (e.g. via mutation methods <<
, delete
, map!
), not just attribute/key-value changes.
All of the features above make Glimmer's data-binding library one of the most sophisticated and advanced in the industry since it automates everything instead of requiring endless manual configuration, thus resulting in some of the tersest most declarative syntax for using observers and data-binding.
You may learn more by looking into data-binding specs as well as Data-Binding and Observer usage in Glimmer DSL for SWT
Shine Data-Binding Syntax
The Shine data-binding syntax is a highly intuitive and visually expressive way of data-binding that enables performing bidirectional (two-way) data-binding with the <=>
operator and unidirectional (one-way) data-binding with the <=
operator.
It is facilitated by the combination of the Glimmer::DSL::ShineDataBindingExpression
and Glimmer::DataBinding::Shine
classes, which depend on Glimmer::DSL::BindExpression
and Glimmer::DataBinding::ModelBinding
.
Below are some examples of Shine usage in GUI DSLs:
text <=> [contact, :first_name]
This example bidirectionally binds the text property of a widget like label to the first name of a contact model.
text <=> [contact, 'address.street']
This example binds the text property of a widget like label to the nested street of the address of a contact. This is called nested property data binding.
text <=> [contact, 'address.street', on_read: :upcase, on_write: :downcase]
This example adds on the one above it by specifying converters on read and write of the model property, like in the case of a text widget. The text widget will then displays the street upper case and the model will store it lower case. When specifying converters, read and write operations must be symmetric.
enabled <= [user, :logged_in]
This example unidirectionally binds the enabled property of a widget like button to the logged in status of a user.
enabled <= [user, :logged_in, on_read: :!]
This example unidirectionally binds the enabled property of a widget like entry to the negated logged in status of a user. Note that when using a single on read converter with unidirectional data-binding, there is no need for a symmetric on_write converter as well since writing is never done with unidirectional (one-way) data-binding.
Learn more about Shine data-binding syntax from its usage in Glimmer DSL for SWT
Glimmer Process
Glimmer Process is the lightweight software development process used for building Glimmer libraries and Glimmer apps, which goes beyond Agile, rendering all Agile processes obsolete. Glimmer Process is simply made up of 7 guidelines to pick and choose as necessary until software development needs are satisfied.
Learn more by reading the GPG (Glimmer Process Guidelines)
FAQ
(Frequently Asked Questions)
How do Glimmer GUI DSLs compare to Shoes?
If you liked Shoes, you'll love Glimmer!
That is because Glimmer does everything that Shoes did, but with a lighter and better GUI DSL (Graphical User Interface Domain Specific Language) that addresses all the issues that Shoes suffered from, such as:
- Shoes does not allow code in Shoes blocks to use variables defined outside of Shoes blocks in a straightforward manner as it changes
self
inside Shoes blocks, breaking Ruby expectations and producing confusing behavior. On the other hand, Glimmer DSL blocks are 100% standard Ruby blocks that represent real closures, so they enable usage of variables defined outside the blocks in a 100% standard Ruby way. - Shoes lacks support for high-quality business widget controls (View components) like table and tree. Glimmer GUI DSLs that are feature complete like Glimmer DSL for SWT do support table and tree widgets. Some non-final Glimmer GUI DSLs like Glimmer DSL for LibUI support the table control too.
- Shoes does not encourage proper separation of concerns with a correct MVC architecture (Model-View-Controller), resulting in a lot of non-presentation logic mixed with View code. Glimmer GUI DSLs do support proper separation of concerns 100% following the MVC or MVP (Model-View-Presenter) architecture by default.
- Shoes does not provide a simple way for connecting View components to Model data. Glimmer GUI DSLs provide full bidirectional/unidirectional data-binding support out of the box that provides the terest code syntax for connecting Views to Models and keeping them in sync.
- Shoes does not support a native mechanism for building custom View components. Glimmer GUI DSLs do support the ability to build custom widgets (aka controls or View components), custom windows (aka shells), and custom shapes (canvas graphics), enabling software engineers to expand a Glimmer DSL’s vocabulary with new keywords representing brand new visual concepts. That results in much higher productivity by enabling the reuse of higher visual concepts as their own self-encapsulated components.
- Shoes does not expose native features of its wrapped GUI toolkit. Glimmer GUI DSLs do expose all native features of their wrapped GUI toolkits, thus enabling developers to use a GUI toolkit like SWT directly when needed on top of using Glimmer DSL for SWT (a widget initialized via SWT directly could be passed to Glimmer DSL for SWT to wrap as a Glimmer
WidgetProxy
object and integrate with other Glimmer initializedWidgetProxy
objects). That facilitates the 80/20 rule of having Glimmer GUI DSLs automate 80% of the work while still enabling software engineers to reach down to the low-level GUI toolkit API in 20% of the cases when needed (though in practice, it's probably more like 1% of the cases).
It is great that Shoes paved the way for creating desktop GUI DSLs in Ruby. Glimmer took that approach to its maximum and produced the ultimate evolution of Shoes.
What is the difference between Glimmer and Glimmer DSL for SWT?
Glimmer DSL for SWT was the first GUI DSL created as part of the Glimmer project to enable building desktop applications, and it was originally just called Glimmer. It relied on the Eclipse SWT library to render native GUI (Graphical User Interface) widget controls (View components) on every platform (Mac, Windows, and Linux). Eventually, the idea of a Glimmer DSL proved itself so successful and viable for building desktop apps with a fraction of the effort needed in other programming languages/technologies that it was expanded to support other GUI toolkits. So, Glimmer got renamed to Glimmer DSL for SWT, and the core Glimmer DSL engine got extracted to Glimmer (becoming a DSL framework), which then got reused to build other Glimmer GUI DSLs such as Glimmer DSL for LibUI and Glimmer DSL for GTK, among many others.
What is the difference between Glimmer DSL for SWT and Glimmer DSL for LibUI?
Both Glimmer DSL for SWT and Glimmer DSL for LibUI support rendering platform native widgets/controls, which enable building native desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
However, Glimmer DSL for SWT runs in JRuby (Ruby running in the JVM [Java Virtual Machine]) whereas Glimmer DSL for LibUI runs in standard Ruby (aka MRI Ruby or CRuby).
Glimmer DSL for SWT is 100% feature-complete and has a final release. Glimmer DSL for LibUI is 100% complete as far as covering the LibUI features, but LibUI itself is still a mid-alpha library, so it is missing a few features that will get added eventually.
What is the difference between Glimmer DSL for LibUI, Glimmer DSL for GTK, Glimmer DSL for Tk, Glimmer DSL for FX, and Glimmer DSL for WX?
All of Glimmer DSL for LibUI, Glimmer DSL for GTK, Glimmer DSL for Tk, Glimmer DSL for FX, and Glimmer DSL for WX run in standard Ruby (aka MRI Ruby or CRuby).
However, only Glimmer DSL for LibUI and Glimmer DSL for WX render native controls on every platform. The other libraries do not render native controls on every platform, albeit Glimmer DSL for GTK renders native controls on Linux distributions utilizing Gnome.
Also, Glimmer DSL for LibUI does not require any prerequisites beyond installing the Ruby gem, so you can install it and get instant GUI with very little effort, whereas Glimmer DSL for GTK, Glimmer DSL for Tk, Glimmer DSL for FX, and Glimmer DSL for WX do require extra dependencies in general, albeit Glimmer DSL for GTK has everything it needs in Linux Gnome flavors and both Glimmer DSL for FX and Glimmer DSL for WX have everything they need on Windows by including pre-built binaries.
You may learn more about the differences between various Glimmer DSLs by checking out the Glimmer DSL Comparison Table.
What is the difference between Glimmer DSL for SWT, Glimmer DSL for Swing, and Glimmer DSL for JFX?
Glimmer DSL for SWT relies on the Eclipse SWT library, which renders native widgets on every platform (Mac, Windows, and Linux) to build desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
Glimmer DSL for Swing relies on Swing, which does not render native widgets on every platform. Glimmer DSL for JFX relies on JavaFX, which also does not render native widgets on every platform.
Also, SWT initializes native widgets in memory using non-Java code (e.g. C/C++), thus ensuring native OS high performance for rendering native widgets without being prone to Java garbage collection pauses. On the other hand, Swing and JavaFX initialize non-native widgets in memory using Java code, thus depend on the performance of the Java Virtual Machine while being prone to Java garbage collection pauses. As a result, SWT provides a better user experience than Swing and JavaFX.
You may learn more about the differences between various Glimmer DSLs by checking out the Glimmer DSL Comparison Table.
Why not just use SWT, LibUI, GTK, Tk, FOX Toolkit, wxWidgets, Swing, or JavaFX from Ruby directly?
GUI Toolkits implement low-level GUI rendering concerns. And, while some of them do offer object-oriented APIs, their APIs are very verbose and imperative by design due to being low-level APIs. As such, they require software engineers to write a lot more low-level code that does not map intuitively to the structure of the GUI visually, slowing down productivity and making maintainability more expensive.
Glimmer GUI DSLs on the other hand are fully declarative and follow Rails' Convention Over Configuration maxim by including smart defaults and automation of low-level details, so they enable software engineers to write the simplest most minimalistic code that maps to the actual visual GUI concepts, maximizing productivity and resulting in code that is very maintainable and intuitive to reason about.
Furthermore, Glimmer GUI DSLs offer advanced Bidirectional/Unidirectional Data-Binding Support, which enables syncing View data with Model attributes with the tersest code syntax possible to greatly simplify reasoning about the code while supporting proper separation of concerns through correct adherence to MVC (Model-View-Controller) and MVP (Model-View-Presenter).
That's in addition to scaffolding and native executable packaging in some Glimmer GUI DSLs. As a result, productivity increases even further and maintainability becomes even less expensive, thus enabling software engineers to deliver pieces of software in a matter of minutes or hours for desktop application MVPs (Minimal Viable Products). As such, Glimmer GUI DSLs significantly shorten the feedback cycle and enable incrementally releasing features at a very fast pace, not possible with GUI toolkit low-level APIs.
Resources
- Glimmer DSL for SWT Video Tutorials
- Code Master Blog
- JRuby Cookbook by Justin Edelson & Henry Liu
- MountainWest RubyConf 2011 Video
- RubyConf 2008 Video
- InfoQ Article
- DZone Tutorial
Help
Issues
You may submit issues on GitHub.
Click here to submit an issue.
Chat
Feature Suggestions
These features have been suggested. You might see them in a future version of Glimmer. You are welcome to contribute more feature suggestions.
Glimmer DSL Engine specific tasks are at:
Change Log
Contributing
Contributors Wanted!
If you would like to contribute to Glimmer, please study up on Glimmer and SWT, run all Glimmer samples, and build a small sample app (perhaps from this TODO list) to add to glimmer-dsl-swt Hello or Elaborate samples via a Pull Request. Once done, contact me on Chat.
You may apply for contributing to any of these Glimmer DSL gems whether you prefer to focus on the desktop or web:
- glimmer-dsl-swt: Glimmer DSL for SWT (JRuby Desktop Development GUI Framework)
- glimmer-dsl-opal: Glimmer DSL for Opal (Pure Ruby Web GUI and Auto-Webifier of Desktop Apps)
- glimmer-dsl-tk: Glimmer DSL for Tk (MRI Ruby Desktop Development GUI Library)
- glimmer-dsl-libui: Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library)
- glimmer-dsl-xml: Glimmer DSL for XML (& HTML)
- glimmer-dsl-css: Glimmer DSL for CSS
Contributors
- Andy Maleh (Founder)
- Dennis Theisen (Contributor)
Click here to view contributor commits.
Hire Me
If your company would like to invest fulltime in further development of the Glimmer open-source project, hire me.
License
Copyright (c) 2007-2024 - Andy Maleh.
--
Glimmer logo was made by Freepik from www.flaticon.com
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