1
0
Fork 0
mirror of https://github.com/sdogruyol/awesome-ruby.git synced 2025-03-10 16:55:55 -04:00
ruby/README.md
2014-07-03 14:14:02 +03:00

385 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Awesome Ruby
A curated list of awesome Ruby frameworks, libraries and resources. Inspired by [awesome-php](https://github.com/ziadoz/awesome-php) & [awesome-python](https://github.com/vinta/awesome-python).
- [Awesome Ruby](#awesome-ruby)
- [Environment Management](#environment-management)
- [Package Management](#package-management)
- [Distribution](#distribution)
- [Files](#files)
- [Date and Time](#date-and-time)
- [Text Processing](#text-processing)
- [Natural Language Processing](#natural-language-processing)
- [Documentation](#documentation)
- [Configuration](#configuration)
- [Command-line Tools](#command-line-tools)
- [Imagery](#imagery)
- [Audio](#audio)
- [Video](#video)
- [Geolocation](#geolocation)
- [HTTP](#http)
- [Database](#database)
- [Database Drivers](#database-drivers)
- [ORM](#orm)
- [Web Frameworks](#web-frameworks)
- [CMS](#cms)
- [RESTful API](#restful-api)
- [Authentication and OAuth](#authentication-and-oauth)
- [Template Engine](#template-engine)
- [Queue](#queue)
- [Search](#search)
- [Asset Management](#asset-management)
- [Caching](#caching)
- [Email](#email)
- [Internationalization](#internationalization)
- [URL Manipulation](#url-manipulation)
- [HTML Manipulation](#html-manipulation)
- [Web Crawling](#web-crawling)
- [Web Content Extracting](#web-content-extracting)
- [Downloader](#downloader)
- [Forms](#forms)
- [Data Validation](#data-validation)
- [Anti-spam](#anti-spam)
- [Tagging](#tagging)
- [Build Tools](#build-tools)
- [Admin Panels](#admin-panels)
- [Processes and Threads](#processes-and-threads)
- [Networking](#networking)
- [WebSocket](#websocket)
- [Cryptography](#cryptography)
- [GUI](#gui)
- [Game Development](#game-development)
- [Logging](#logging)
- [Testing](#testing)
- [Code Analysis and Linter](#code-analysis-and-linter)
- [Debugging Tools](#debugging-tools)
- [Science and Data Analysis](#science-and-data-analysis)
- [Data Visualization](#data-visualization)
- [Machine Learning](#machine-learning)
- [Functional Programming](#functional-programming)
- [MapReduce](#mapreduce)
- [Third-party APIs](#third-party-apis)
- [DevOps Tools](#devops-tools)
- [Foreign Function Interface](#foreign-function-interface)
- [High Performance](#high-performance)
- [Algorithms and Design Patterns](#algorithms-and-design-patterns)
- [Miscellaneous](#miscellaneous)
- [Editor Plugins](#editor-plugins)
- [Resources](#resources)
- [Websites](#websites)
- [Weekly](#weekly)
- [Twitter](#twitter)
## Environment Management
*Libraries for Ruby version and environment management.*
* [rvm](https://rvm.io/) - Ruby Version Manager
* [rbenv](http://rbenv.org/) - Groom your apps Ruby environment
## Package Management
*Libraries for package and dependency management.*
* [RubyGems](https://rubygems.org/) - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
## Distribution
*Libraries to create packaged executables for release distribution.*
## Files
*Libraries for file manipulation and MIME type detection.*
## Date and Time
*Libraries for working with dates and times.*
## Text Processing
*Libraries for parsing and manipulating texts.*
* General
* Specific Formats
* Parser
## Natural Language Processing
*Libraries for working with human languages.*
## Documentation
*Libraries for generating project documentation.*
## Configuration
*Libraries for storing configuration options.*
## Command-line Tools
*Libraries for building command-line application.*
* Command-line Application Development
* Workflow Tools
## Imagery
*Libraries for manipulating images.*
## Audio
*Libraries for manipulating audio.*
## Video
*Libraries for manipulating video and GIFs.*
## Geolocation
*Libraries for geocoding addresses and working with latitudes and longitudes.*
## HTTP
*Libraries for working with HTTP.*
## Database Drivers
*Libraties for connecting and operating databases.*
* Relational Databases
* NoSQL Databases
## ORM
*Libraries that implement Object-Relational Mapping or datamapping techniques.*
* Relational Databases
* NoSQL Databases
## Web Frameworks
*Web development frameworks.*
* [Ruby On Rails](http://rubyonrails.org/) - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
* [Sinatra](http://www.sinatrarb.com/) - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
* [Padrino](http://www.padrinorb.com/) - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
* [Cramp](http://cramp.in/) - Cramp is a fully asynchronous real-time web application framework in Ruby
## CMS
*Content management systems*
## RESTful API
*Libraries for developing RESTful APIs.*
## Authentication and OAuth
*Libraries for implementing authentications schemes.*
## Template Engine
*Libraries and tools for templating and lexing.*
## Queue
*Libraries for working with event and task queues.*
## Search
*Libraries and software for indexing and performing search queries on data.*
## Asset Management
*Tools for managing, compressing and minifying website assets.*
## Caching
*Libraries for caching data.*
## Email
*Libraries for sending and parsing email.*
## Internationalization
*Libraries for woking with i18n.*
## URL Manipulation
*Libraries for parsing URLs.*
## HTML Manipulation
*Libraries for working with HTML and XML.*
## Web Crawling
*Libraries for scraping websites.*
## Web Content Extracting
*Libraries for extracting web contents.*
## Downloader
*Libraries for downloading.*
## Forms
*Libraries for working with forms.*
## Data Validation
*Libraries for validating data. Used for forms in many cases.*
## Anti-spam
*Libraries for fighting spam.*
## Tagging
*Libraries for tagging items.*
## Build Tools
*Compile software from source code.*
## Admin Panels
*Libraries for administrative interfaces.*
## Processes and Threads
*Libraries for woking with processes or threads*
## Networking
*Libraries for network programming.*
## WebSocket
*Libraries for woking with WebSocket.*
## Cryptography
## GUI
*Libraries for working with graphical user interface applications.*
## Game Development
*Awesome game development libraries.*
## Logging
*Libraries for generating and working with log files.*
## Testing
*Libraries for testing codebases and generating test data.*
* Testing Frameworks
* [RSpec](http://rspec.info/) - BDD for Ruby
* [MiniTest](https://github.com/seattlerb/minitest) - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
* Mock
* [RSpec-mocks](https://github.com/rspec/rspec-mocks) - RSpec's 'test double' framework, with support for stubbing and mocking
* [Mocha](http://gofreerange.com/mocha/docs/) - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
* [FlexMock](https://github.com/jimweirich/flexmock) - Flexible mocking for Ruby testing
* Fake Data
* Code Coverage
* Load Testing
* Error Handler
## Code Analysis and Linter
*Libraries and tools for analysing, parsing and manipulation codebases.*
## Debugging Tools
*Libraries for debugging and developing.*
## Science and Data Analysis
*Libraries for scientific computing and data analyzing.*
## Data Visualization
*Libraries for visualizing data.*
## Machine Learning
*Libraries for Machine Learning.*
## Functional Programming
## MapReduce
*Framworks and libraries for MapReduce.*
## Third-party APIs
*Libraries for accessing third party APIs.*
## DevOps Tools
*Software and libraries for DevOps.*
## Foreign Function Interface
*Libraries for providing foreign function interface.*
## High Performance
*Libraries for making Ruby faster.*
## Algorithms and Design Patterns
*Collections of algorithms and design patterns.*
## Miscellaneous
*Useful libraries or tools that don't fit in the categories above.*
## Editor Plugins
*Plugins for various editors.*
# Resources
Where to discover new Ruby libraries.
## Websites
## Weekly
## Twitter
# Contributing
Your contributions are always welcome!