新手上路
昨天 08:58
主楼
管理界面
- ActiveAdmin - 一个用于创建优雅网站管理后台的 Ruby on Rails 框架。
- ActiveScaffold - ActiveScaffold 为 Rails 应用程序提供快速且强大的 CRUD(创建、读取、更新、删除)操作的用户界面。它非常适合生成管理界面、管理数据密集型应用程序、创建小部件或快速原型设计。ActiveScaffold 完全可定制,并提供许多附加功能,包括搜索、分页、布局控制以及字段、表单和模板的覆盖。
- Administrate - 一个由 Thoughtbot 开发的 Rails 引擎,帮助你构建一个超级灵活的管理后台。
- Avo Admin for Rails - Avo 是构建高级管理员面板的现代方法,整个组织都可以使用。它拥有管理员面板所需的所有工具,甚至更多。我们已仔细确保您拥有所有必要的逃生通道,以确保您可以快速轻松地为 Ruby on Rails 构建下一个管理员面板。
- bhf - 一个简单易用的 Rails-Engine-Gem,为受信任的用户提供管理员界面。
- Hot Glue - Hot Glue 采用不同的方法来构建管理员和用户仪表板。它像 Rails scaffold generator 一样是一个代码生成工具,但功能显著更多。Hot Glue 不会提供大量配置选项,而是可以生成您的代码。适用于管理员和面向用户的仪表板的列表和 CRUD 视图。
- Madmin - Ruby on Rails 应用的强大管理员界面
- MotorAdmin - 一个低代码管理面板和商业智能 Rails 引擎。无需 DSL - 可从 UI 进行配置。
- RailsAdmin - 一个提供易于使用界面的 Rails 引擎,用于管理您的数据。
- Trestle - 一个面向 Rails 的现代、响应式管理框架。几分钟内即可构建一个后端,以满足应用程序的需求。
分析
- ActiveAnalytics - Ruby on Rails 应用程序的首方,注重隐私的流量分析工具。
- Ahoy - 一个用于在 Ruby、JavaScript 和原生应用中跟踪访问和事件的坚实基础。
- Impressionist - 一个用于跟踪印象和页面视图的 Rails 插件。
- Legato - 对官方 Google Analytics Reporting API 进行模型分析报告和查询。
- Rack::Tracker - 一种可以连接到多个服务并在统一方式下暴露它们的 Rack 中间件。
- Staccato - 将分析数据追踪到官方的 Google Analytics Collection API。
API 构建与发现
- ActiveModel::Serializers - 对象的 JSON 序列化。
- Acts_As_Api - 在 Rails 3,4,5 和 6 中轻松且有趣地创建 XML/JSON 响应。
- Alba - 一个用于 Ruby、JRuby 和 TruffleRuby 的 JSON 序列化器。
- Blanket - 一个极其简单的 API 封装工具。
- Blueprinter - 一个简单、快速、声明式的 Ruby 序列化库。
- cache_crispies - 具备内置缓存的快速 Rails JSON 序列化工具。
- Crepe - 薄而精简的 API 栈。
- EasyTalk - 使用 DSL 定义结构化数据模型,从单一真实来源生成 JSON Schema 和 ActiveModel 验证。
- Grape - 一个用于在 Ruby 中创建 REST 式 API 的主观微框架。
- Her - 一个将 REST 资源映射到 Ruby 对象的 ORM。设计用于构建由 RESTful API 而不是数据库驱动的应用程序。
- jbuilder - 通过 Builder 风格的 DSL 创建 JSON 结构。
- jsonapi-rb – 高效且便捷的 JSON API (de)序列化库。
- jsonapi-serializer - 用于 Ruby 对象的快速 JSON:API 序列化器。
- JSONAPI::Resources - JSONAPI::Resources,或称为 "JR",提供了一个框架,用于开发符合 JSON API 规范的服务器。
- JSONAPI::Utils - JSONAPI::Utils 是基于 JSONAPI::Resources 构建,利用其资源驱动风格,为构建现代 JSON API 提供了一种简单易学的方式。
- Jsonite - 一个为你的 API 提供的微小、符合 HAL 标准的 JSON 呈现工具。
- Pliny - 一个主观的 Sinatra 应用模板,用于用 Ruby 编写优秀的 API。
- rabl - 支持 json、bson、xml、plist 和 msgpack 的一般 Ruby 模板。
- Roar - Ruby 中的面向资源架构。
- Spyke - 以 ActiveRecord 类似的方式与 REST 服务交互。
- Version Cake - 在您的 Rails 应用中以不显眼的方式版本化 API。
- versionist - 用于版本化 Rails 基于 RESTful API 的插件。
资产
- Asset Sync - 在 Rails 和 S3 之间同步资源。
- Autoprefixer - 通过 Can I Use 解析 CSS 并为规则添加供应商前缀。
- Bourbon - 一个轻量级的 Sass 工具集。
- bower-rails - 为 Rails 项目提供 Bower 支持。
- Emoji - 暴露 Phantom Open Emoji 库的 Unicode/图像资源和 API,用于处理这些资源。
- Less Rails - Rails 资产管道的动态样式表语言。
- Rails Assets - Bundler 到 Bower 的代理。
- Sass - Sass 让 CSS 再次变得有趣。
- Shakapacker - 使用 Webpack 在 Rails 中管理类似应用的 JavaScript 模块。(官方且积极维护的 rails/webpacker 后继者)
- Sprockets - 基于 Rack 的资源打包系统。
- Torba - Sprockets 的无 Bower 打包器。
- Vite Ruby - 在 Ruby 和 Rails 应用中使用 Vite.js 作为现代资源管道。
身份验证和 OAuth
- API Guard - 用于 Rails API 的 JWT 身份验证解决方案。
- Authentication Zero - 用于 Rails 应用的身份验证系统生成器。
- Authlogic - Authlogic 是一个简洁、简单且不显眼的 Ruby 身份验证解决方案。
- Clearance - 小巧且简单的基于电子邮件和密码的 Rails 身份验证。
- Devise - 基于 Warden 的灵活 Rails 身份验证解决方案。
- JWT - Ruby 中的 JSON Web Token 实现。
- Monban - 一个非常简单且可扩展的 Rails 用户认证库。
- OmniAuth - 一个利用 Rack 中间件标准化的多提供者认证库。
- Rodauth - 用于 Rack 应用的认证和账户管理框架。
- Sorcery - 一个精简的、基础的 Rails 认证库。
- warden - 通用 Rack 认证框架。
- OAuth:
- Doorkeeper - 一个用于 Rails 的 OAuth2 提供者。
- OAuth2 - OAuth 2.0 协议的 Ruby 封装。
- Rodauth-Oauth - Rodauth OAuth 和 OpenID 提供者插件。
授权
- acl9 - Acl9 是一个基于角色的授权系统,为您的 Rails 应用程序提供简洁的 DSL 来保护您的应用程序。
- AccessGranted - Rails 的多角色和基于白名单的授权宝石。
- ActionPolicy - 用于 Ruby 和 Rails 应用的授权框架。可组合、可扩展且性能优越。
- CanCanCan - CanCan 的延续,是一个用于 Ruby on Rails 的授权 Gem。
- Consul - 一个基于范围的 Ruby on Rails 授权解决方案。
- Petergate - 易于使用和阅读的动作和基于内容授权。
- Pundit - 通过面向对象设计和纯 Ruby 类实现最小化授权。
- Rabarber - 为 Rails 提供简单基于角色的授权,支持多租户。
自动化
- ActiveWorkflow - 基于软件代理的智能流程和工作流自动化平台。
- Danger - 自动化您团队的代码审查规范。
- Huginn - Huginn 是一个用于构建在线执行自动化任务的代理系统的工具。
- Neovim - Neovim 的 Ruby 绑定,用于在 Ruby 中创建自己的 Neovim 编辑器插件。
- Runbook - 一个用于渐进式系统自动化的框架和 Ruby DSL。
面包屑导航
- Rails 中的面包屑导航 - 一个简单的 Ruby on Rails 插件,用于创建和管理 Rails 项目的面包屑导航。
- Gretel - 一个 Ruby on Rails 插件,使创建面包屑既简单又灵活。
- loaf - 在 Rails 应用中管理和显示面包屑路径 - 简洁高效。
- Simple Navigation - 一个用于创建导航(HTML 列表、链接列表或具有多级面包屑)的 Ruby gem,适用于 Rails 2、3 & 4、Sinatra 或 Padrino。
模板与 UI 套件
- Jumpstart - 用于节省数月开发时间的 Ruby on Rails SaaS 模板。
- Rails Blocks - 使用 Tailwind CSS 和 Stimulus 控制器为您的 Rails 应用提供令人愉悦的 UI 组件。
- Speedrail - 一个免费的 Rails 8 应用模板:Devise 认证、Stripe 账单、Tailwind CSS、管理面板、SEO 辅助工具等。
- Wheel - 用于更快构建 Rails 应用的 Rails 应用模板。
业务逻辑
- ActiveInteraction - 管理特定应用程序的业务逻辑。
- Interactor - Interactor 提供了一个通用接口,用于在单个请求中执行复杂的交互。
- Light Service - 一系列强调简单性的操作。
- Mutations - 将您的业务逻辑组合成命令,以清理和验证输入。
- Servactory - 一套用于构建任何复杂度的可靠服务对象的工具。
- Surrounded - 将相关对象封装在单一系统中,以便在运行时添加行为。DCI 的可扩展实现。
- Waterfall - 一段函数式编程,用于链式连接 ruby 服务和块,从而提供一种新的流程控制方法。
- wisper - 一个微库,为 Ruby 对象提供发布-订阅功能。
缓存
- Action Pack 的操作缓存 - Action Pack 的操作缓存。
- Dalli - 用于访问 memcached 服务的高性能纯 Ruby 客户端。
- Garner - 一组实现各种缓存策略的 Rack 中间件和缓存辅助工具。
- IdentityCache - 用于集成到 ActiveRecord 的块级缓存解决方案。
- Kashmir - Kashmir 是一个 Ruby DSL,使得序列化和缓存对象变得非常简单。
- Readthis - 高性能、池化、符合 ActiveSupport 的 Redis 缓存。
- Record Cache - 在 Rails 3 中缓存 Active Model 记录。
- redis-store - Redis Store 为现代 Ruby 框架(如 Ruby on Rails、Sinatra、Rack、Rack::Cache 和 I18n)提供了一套完整的存储(缓存、I18n、会话、HTTP 缓存)。它支持对象序列化、超时、单个或多个节点以及命名空间。
- 二级缓存 - ActiveRecord 4 的写通和读通缓存库。
验证码和反垃圾邮件
- ActsAsTextcaptcha - 使用基于文本逻辑问题的验证码保护 Rails 模型(来自 Rob Tuley 的 textcaptcha.com)
- Invisible Captcha - 基于蜜罐策略的无干扰且灵活的垃圾邮件保护。它还提供有时间限制的表单提交。
- Rakismet - 用于 Rails 的简单 Akismet 和 TypePad 反垃圾邮件集成。
- reCAPTCHA - 用于 Ruby 应用的 reCaptcha API 辅助工具。
- Voight-Kampff - 一个可以检测机器人、蜘蛛、爬虫和复制人的 Ruby 宝石。
CLI Builder
- Clamp - 一个命令行应用程序框架。
- cmdparse - 一个支持嵌套命令的高级命令行解析器。
- Commander - 用于 Ruby 命令行可执行文件的完整解决方案。
- dry-cli - Ruby 通用命令行界面 (CLI) 框架。
- GLI - Git-Like Interface Command Line Parser.
- Main - A class factory and DSL for generating command line programs real quick.
- Optimist - A command line option parser for Ruby that just gets out of your way.
- Rake - A make-like build utility for Ruby.
- Runfile - 轻松为每个项目构建命令行应用程序。受 Rake 启发,内置 Docopt。
- Slop - 简单轻量级选项解析。
- Terrapin - 一个小巧的命令行库(曾用名 Cocaine)。
- Thor - 用于构建强大命令行界面的工具包。
- TTY - 开发 CLI 客户端的工具箱。
CLI 工具
- Awesome Print - 用风格化的方式美化你的 Ruby 对象——以全彩和正确的缩进来显示
- Betty - 友好的英语式命令行界面。记不住命令?问 Betty。
- colorize - 扩展 String 类或添加带设置文本颜色、背景颜色和文本效果方法的 ColorizedString。
- colorls - 美化
ls命令,带颜色和 font-awesome 图标。 - formatador - STDOUT 文本格式化。
- Paint - 设置 ANSI 终端颜色的简单快速方法。
- Pastel - 基于直观且简洁的 API 的终端输出样式。
- Ru - 在您的 shell 中使用 Ruby。
- Ruby/Progressbar - Ruby 最灵活的文本进度条库。
- Tabulo - 基于 DRY、基于列的 API 的纯文本表格生成器。
- TablePrint - 将多个数据库表中的数据切片到单个 CLI 视图中。
- Terminal Table - Ruby ASCII 表生成器,简单且功能丰富。
- Tmuxinator - 轻松创建和管理复杂的 tmux 会话。
- Whirly - 一个简单、多彩且可定制的 Ruby 终端旋转器库。
云
- AWS SDK for Ruby - 官方 AWS SDK for Ruby。
- browse-everything - 提供对云存储中文件访问的多提供者 Rails 引擎。
- Fog - Ruby 云服务库。
- humidifier - 通过编程方式生成和管理 AWS CloudFormation 模板、堆栈和变更集。
CMS
- Alchemy CMS - 一个强大、用户友好且灵活的开源 Ruby on Rails CMS。
- Avo CMS for Rails - Avo 是一个非常定制的 Ruby on Rails 内容管理系统,可节省工程师和团队数月开发时间。它设计为使用您应用程序的数据库结构,使用配置而不是传统方法,当配置不足时,它会回退到您熟悉的常规 Rails 代码。
- Camaleon CMS - 基于 Ruby on Rails 4 的动态和高级内容管理系统。
- ComfortableMexicanSofa - 强大的 Rails 5.2+ CMS 引擎。
- Fae - 灵活、开源的 Rails CMS 引擎。
- MaglevCMS - 一个具有时尚 UI 的开源页面构建器。
- LocomotiveCMS - 基于 Liquid 模板和 Mongodb 数据库的一个简单但功能强大的 CMS。
- Publify - 一个基于 Rails 的自托管网络发布平台。
- PushType - 一个面向 Ruby on Rails 的下一代开源内容管理系统。
- Radiant - 一个为小团队设计、无多余功能的开源内容管理系统。
- Refinery CMS - 一个为 Rails 5.2+ 开发的开源 Ruby on Rails 内容管理系统。
- Sitepress - 使用与静态网站生成器(如 Jekyll、Middleman 和 Bridgetown)相同的特性,在 Rails 中管理内容文件。
- Spina CMS - 面向 Rails 开发者的美观内容管理系统。
- Storytime - 针对 Rails 4+ 的内容管理系统和博客引擎,核心专注于内容。
代码分析与指标
- Brakeman - 用于 Ruby on Rails 应用的静态分析安全漏洞扫描器。
- Coverband - 用于测量生产代码覆盖率的 Rack 中间件。
- Fasterer - 通过这个受 fast-ruby 和 Sferik 在 Baruco Conf 演讲高度启发的命令行工具,让你的 Rubies 运行更快。
- Flay - Flay 分析代码的结构相似性。忽略字面值、变量、类、方法名、空格、编程风格、大括号与 do/end 等差异。这使得它非常棒。
- Flog - Flog 以易于阅读的痛苦报告形式报告最痛苦的代码。分数越高,代码越痛苦。
- fukuzatsu - 复杂性分析工具,具有丰富的 Web 前端。
- MetricFu - 一把代码指标。
- Pippi - 用于查找 Ruby 类 API 使用不佳的工具,专注于运行时分析。
- Pronto - 快速自动代码审查您的更改。
- rails_best_practices - 用于 rails 项目的代码度量工具。
- Reek - Ruby 代码异味检测器。
- Rubycritic - 一个 Ruby 代码质量报告工具。
- Scientist - 一个用于谨慎重构关键路径的 Ruby 库。
- SimpleCov - 用于 Ruby 1.9+ 的代码覆盖率工具,具有强大的配置库和跨测试套件的自动覆盖率合并功能。
- Sorbet - 一个 Ruby 静态类型检查器。
- Suture - 一个帮助您重构遗留代码的 Ruby 宝石。
- Traceroute - 一个帮助您查找 Rails 3+ 应用中死路和操作的 Rake 任务宝石
代码格式化
- niceql - 无依赖的 SQL 和 SQL 错误格式化和着色。与 ActiveRecord 无缝集成。
- prettier - Ruby 语言的 prettier 插件。
- RuboCop - 基于社区 Ruby 风格指南的静态代码分析器。
- Rubocop Rails - 专注于执行 Rails 最佳实践和编码约定的 RuboCop 扩展。
- Rubocop Rspec - RSpec 文件的代码风格检查。
- Rubocop Performance - 一个专注于代码性能检查的 RuboCop 扩展。
- Standard - Ruby 风格指南,包含代码检查器和自动代码修复工具
代码高亮
- CodeRay - 适用于多种语言的快速且易于使用的语法高亮工具。
- pygments.rb - 一个用于 Python pygments 语法高亮的 Ruby 包装器。
- Rouge - 一个与 Pygments 兼容的纯 Ruby 代码高亮器。
代码加载器
- Zeitwerk - 一个高效且线程安全的 Ruby 代码加载器。
编程风格指南
- Best-Ruby - Ruby 技巧,惯用 Ruby,重构与最佳实践。
- fast-ruby - 编写高效的 Ruby。收集常见的 Ruby 惯用法。
- Fundamental Ruby - 基础编程 Ruby,附带示例。线程,设计模式,数据结构,面向对象 SOLID 原则,算法。
- Rails style guide - 社区驱动的 Rails 最佳实践和 Rails 3 和 4 的风格指南。
- RSpec style guide - Better Specs { rspec 指南与 ruby }。
- Ruby Operators - 展示不同 Ruby 运算符的酷炫名称的网页。
- Ruby style guide - 社区驱动的 Ruby 编程风格指南。
并发与并行
- 并发 Ruby - 现代并发工具,包括代理、未来、承诺、线程池、监督器等。受 Erlang、Clojure、Scala、Go、Java、JavaScript 和经典并发模式启发。
- EventMachine - Ruby 的一个事件驱动 I/O 和轻量级并发库。
- forkoff - ruby 的脑残简单并行处理。
- Parallel - 可以并行运行任何代码(使用所有 CPU)或线程(加速阻塞操作)。最适合用于 map-reduce 或例如并行下载/上传。
- Polyphony - Ruby 的细粒度并发。
配置
- AnywayConfig - 用于 Ruby gem 和应用程序的配置库,支持多个来源(yml,secrets)和环境。
- Chamber - 惊人可定制的基于约定的方法,用于管理应用程序的配置。
- Configatron - 简单且功能丰富的 Ruby 应用配置系统。
- Configus - 帮助您轻松管理特定环境的设置。
- dotenv - 从
.env文件加载环境变量。 - Econfig - Rails 应用的灵活配置。
- ENVied - 确保您的应用程序的 ENV 变量的存在和类型
- Envyable - 最简单的 YAML 到 ENV 配置加载器。
- Figaro - 使用
ENV和单个 YAML 文件进行简单、Heroku 友好的 Rails 应用程序配置。 - Global - 为您的配置数据提供访问器方法。
- RailsConfig - Rails3 的多环境 YAML 配置。
- Sail - 一个轻量级的 Rails 引擎,为运行中的 Rails 应用提供管理配置设置的界面。
核心扩展
- ActiveSupport - 一系列工具类和标准库扩展。
- Addressable - Addressable 是 Ruby 标准库中 URI 实现的替代品。它更符合 RFC 3986、RFC 3987 和 RFC 6570(4 级)的要求,提供对 IRIs 和 URI 模板的支持。
- Bitwise - 对大型二进制字符串进行快速、内存高效的位运算
- Finishing Moves - 为核心 Ruby 类添加的小型、专注且极其有用的方法。包括永不过时的
nil_chain。 - Docile - 一个微型的库,让你能迅速将 DSL(领域特定语言)映射到你的 Ruby 对象上。
- dry-rb - dry-rb 是一系列下一代 Ruby 库的集合,每个库都旨在封装一个常见任务。
- Hamster - 高效、不可变且线程安全的 Ruby 集合类。
- Hanami::Utils - 轻量级、非猴子补丁的 Hanami 和 Ruby 应用程序类工具。
- MemoWise - 任何实例/类/模块方法都可以缓存,包括支持冻结对象 - 在所有 Ruby 版本上经过严格测试和基准测试 - 缓存读取的高性能。
- Ruby Facets - Ruby 的顶级通用方法扩展和标准功能集合。
- Trick Bag - 用于简化和增强您代码的各种 Ruby 类和方法。
- 属性
- ActiveAttr - ActiveModel 未涵盖的内容。
- Virtus - 为普通老 Ruby 对象提供的增强型属性。
- AttrExtras - 通过 attr_initialize 等方法减少 Ruby 的样板代码。
- Hash
- Hashie - 一组扩展 Hash 并使其更实用的工具。
- 字符串
- string_pattern - 生成符合简单模式的字符串。
国家数据
- Carmen - 一个地理区域的存储库。
- Countries - 包含每个国家的各种有用信息,打包成精美的国家对象。
- i18n_data - 国家/语言名称和两字母代码对,包含 85 种语言,用于国家/语言国际化。
- normalize_country - 将国家名称和代码转换为标准格式,包含 XML、CSV 和 DB 的转换程序。
- Phonelib - 使用 Google libphonenumber 库数据进行电话验证和格式化的 Ruby gem。
- Phony - 快速国际电话号码(E164 标准)规范化、拆分和格式化。
- validates_zipcode - 邮政编码/邮编验证,适用于 Rails,支持 233 个国家和地区代码。
CRM
- Fat Free CRM - 基于 Ruby on Rails 的开源客户关系管理平台。
- Hitobito - 基于 Ruby on Rails 的开源社区管理解决方案。
加密货币和区块链
- Blockchain Lite - 使用加密哈希构建自己的区块链;一次一块地用区块链改变世界,区块链,区块链,区块链。
- Ciri - Ethereum 的 Ruby 实现。
- MoneyTree - 一个用 Ruby 实现的比特币 HD 钱包(分层确定性)BIP32。
- Peatio - 最先进的加密货币开源资产交易所。
仪表盘
- Blazer - 仅使用 SQL 的简单数据查看器。输出到表格、图表和地图。
- Smashing - Smashing 是一个基于 Sinatra 的框架,允许你构建美观的仪表板。该项目是 Dashing 框架的精神续作,并得到了维护。
- Dashing-Rails - Rails 的极其帅气的仪表板框架。
数据处理和 ETL
- attr-gather - 一个用于创建工作流的宝石,该工作流可以“增强”实体,为其添加额外属性。从高层次来看,attr-gather 提供了一个过程,以完全并行化的方式从许多数据源(如第三方 API、遗留数据库等)获取信息。
- CSV Reader - 一个现代的表格数据(按行记录)读取器,支持“经典”CSV,但也支持 CSV Numerics、
CSV <3 JSON、CSV <3 YAML、制表符、空格或固定宽度字段(FWF)以及许多其他风味和方言。 - json-streamer - 基于各种标准(键、嵌套级别等)流式传输 JSON 数据。
- Kiba - 一个轻量级的数据处理/ETL 框架,适用于 Ruby。
- Multiwoven - 使用 Ruby 和 Ruby on Rails 开发的开源反向 ETL、数据激活平台。
- ruby-stemmer - 提供用于词干提取的 Snowball 算法。
数据可视化
- Chartkick - 使用一行 Ruby 代码创建精美的 JavaScript 图表。
- GeoPattern - 从字符串创建精美的生成式几何背景图像。
- LazyHighCharts - 一种简单且极其灵活的方式,用于从 Ruby 代码中使用 HighCharts。已在 Ruby on Rails、Sinatra 和 Nanoc 上测试,但应该与其他框架也能正常工作。
- ApexCharts.rb - 为您的 Ruby 应用程序提供令人惊叹的图表。适用于任何 Ruby 应用程序,包括 Rails 应用程序。它甚至适用于纯 HTML+ERB 文件。
- RailRoady - Ruby on Rails 3/4 模型和控制器 UML 类图生成器。
- Rails Erd - 为 Rails 应用程序生成实体关系图。
- Ruby/GraphViz - Ruby 与 GraphViz 图形工具的接口。
数据库驱动程序
- Cassandra 驱动 - 一个用于 Apache Cassandra 的纯 Ruby 驱动,具有异步 IO 和可配置的负载均衡、重连和重试策略。
- mongo-ruby-driver - MongoDB Ruby 驱动。
- mysql2 - 一个现代、简单且非常快的 Ruby Mysql 库(绑定到 libmysql)。
- Neography - 一个用于 Neo4j Rest API 的薄 Ruby 包装器。
- Redic - 轻量级 Redis 客户端。
- redis-rb - 一个 Ruby 客户端,试图一对一匹配 Redis 的 API,同时仍然提供一种习惯性的接口。
- ruby-pg - Ruby 接口用于 PostgreSQL 8.3 及更高版本。
- SQLite3 - SQLite3 嵌入式数据库的 Ruby 绑定。
- SQL Server - ActiveRecord 的 SQL Server 适配器。
- TinyTDS - 使用 DB-Library 的 Ruby FreeTDS 绑定。
- Trilogy - 面向性能的 MySQL 兼容数据库 C 库。
数据库工具
- connection_pool - 适用于 Ruby 的通用连接池,可用于任何东西,例如 Redis、Dalli 等。
- Database Cleaner - Database Cleaner 是一组用于清理 Ruby 数据库的策略。
- Database Consistency - 一种轻松检查应用程序约束和数据库约束是否一致的方法。
- Foreigner - 为迁移添加外键辅助工具,并正确地将外键转储到 schema.rb。
- 大型强子迁移器 - 在不锁定表的情况下进行在线 MySQL 模式迁移。
- Lol DBA - 扫描您的模型并显示可能应该建立索引的列列表。
- 在线迁移 - 在开发中捕获不安全的 PostgreSQL 迁移,并在生产中更容易运行它们。
- Polo - 创建示例数据库快照,以便在开发中与真实世界数据一起使用。
- PgHero - 让 Postgres 洞察变得简单。
- Rails DB - 数据库查看器和 SQL 查询运行器。
- Rein - 为 ActiveRecord 简化数据库约束。
- Scenic - Rails 的版本数据库视图。
- SchemaPlus - SchemaPlus 提供了一系列对 ActiveRecord 的增强和扩展
- SecondBase - Rails 的无缝第二数据库集成。SecondBase 通过扩展 ActiveRecord 创建、迁移和测试应用程序的任务,为 Rails 提供管理双数据库的支持。
- Seedbank - Seedbank 允许你结构化你的 Rails 种子数据,而不是将所有数据都倾倒到一个大文件中。
- Seed dump - Rails 4 任务,用于将(部分)数据库内容转储到 db/seeds.rb。
- Seed Fu - Rails 的高级种子数据处理。
- Standby - 从备用数据库读取 ActiveRecord(以前称为 Slavery)。
- Strong Migrations - 在开发中捕获不安全的迁移。
- Upsert - 在 MySQL、PostgreSQL 和 SQLite3 上执行 Upsert。对 MySQL 和 PostgreSQL 透明地创建函数(UDF);在 SQLite3 上使用 INSERT OR IGNORE。
日期和时间处理
- biz - 使用工作时间进行时间计算。
- business_time - 支持在工作时间和工作日中进行时间计算。
- ByStar - 按年份、月份、双周、星期等查找 ActiveRecord 对象!
- Chronic - 一种用纯 Ruby 编写的自然语言日期/时间解析器。
- date_range_formatter - 一个简单的工具,让 Ruby 中的日期范围处理更加愉快。
- groupdate - 在 ActiveRecord、数组和哈希中分组时间数据的最简单方法。
- holidays - 一组 Ruby 方法,用于处理法定和其他节假日。
- ice_cube - 一个日期递归库,允许轻松创建递归规则和快速查询。
- Jekyll-Timeago - 一个用于计算日期之间距离的 Ruby 库,支持本地化、替代样式、CLI 和 Jekyll 支持。
- local_time - Rails 引擎,用于缓存友好、客户端本地时间。
- montrose - 一个简单的库,用于在 Ruby 中表达、序列化和枚举递归事件。
- stamp - 基于人类友好的示例格式化日期和时间,而不是神秘的 strftime 指令。
- time_diff - 计算两个时间之间的差异。
- timezone - 准确的当前和历史时区以及转换,支持 Geonames 和 Google 经纬度时区查询。
- TZinfo - 提供在时区之间进行夏令时感知转换的功能。
- validates_timeliness - 用于 ActiveModel 和 Rails 的日期和时间验证插件。
- working_hours - 一个现代的 Ruby 宝石,允许使用工作时间进行时间计算。
- yymmdd - 用于习惯性日期解析和格式化的微型 DSL。
调试工具
- Byebug - 一个简单易用、功能丰富的 Ruby 2 调试器
- did_you_mean - 向错误消息中添加类、方法和属性建议。
- Pry Byebug - 通过 byebug 进行 Pry 导航命令。
- pry-rails - 避免重复自己,使用 pry-rails 而不是将初始化器复制到每个 rails 项目中。这是一个小 gem,它使 rails 控制台打开 pry。因此它依赖于 pry。
- Seeing Is Believing - 显示您文件中每一行代码的结果。
- tapping_device - 一个允许您从对象的角度检查程序的工具。
- Xray - 一个揭示您 UI 骨架的开发工具。
装饰器
- Draper - Draper 为您的 Rails 应用程序添加了一层面向对象的展示逻辑。
- Decent Exposure - 一个用于在控制器中创建声明式界面的辅助工具。
- Responders - 一套 Rails 响应器,用于简化您的应用程序。
- ShowFor - 快速显示模型信息,支持 I18n 功能。类似于 form_for,用于展示模型数据。
DevOps 工具
- Backup - 提供了一种优雅的 Ruby DSL,用于在类 UNIX 系统上执行备份。
- BOSH - Cloud Foundry BOSH 是一个用于大型分布式服务发布工程、部署和生命周期管理的开源工具链。
- Capistrano - 一种用 Ruby 编写的远程服务器自动化和部署工具。
- Centurion - 用于 Docker 队列的大规模部署工具。
- Chef - 一个系统集成框架,旨在将配置管理的优势带给您的整个基础设施。
- Einhorn - Einhorn 将打开一个或多个共享套接字,并运行您进程的多个副本。您可以无缝地重新加载您的代码,动态重新配置 Einhorn,等等。
- Itamae - 一个简单轻量级的配置管理工具,灵感来自 Chef。
- Kanrisuru - 用 Ruby 管理远程基础设施
- Lita - Ruby 的 ChatOps:一个可与任何聊天服务一起使用的可插拔聊天机器人框架。
- Logstash - 日志/事件传输、处理、管理、搜索。
- Kamal - Kamal 提供零停机时间部署、滚动重启、资源桥接、远程构建、附属服务管理以及您在 Docker 中部署和管理生产 Web 应用所需的一切。
- Mina - 非常快速的部署工具和服务器自动化工具。
- Puppet - 用于您的 Linux、Unix 和 Windows 系统的自动化管理引擎,根据集中式规范执行管理任务(如添加用户、安装软件包和更新服务器配置)。
- Rubber - Rubber 插件能够将 RubyOnRails 应用程序部署到亚马逊的弹性计算云(EC2),实现相对复杂的多实例部署。
- SSHKey - 纯 Ruby 编写的 SSH 私钥和公钥生成器(RSA & DSA)。
- Sunzi - 为极简主义者设计的服务器配置工具
- Ruby-LXC - Linux 容器的原生 Ruby 绑定。
- Vagrant - 创建和配置轻量级、可重复且便携的开发环境。
差异
- Diffy - 使用 Ruby 进行简单的差异比较。
- gemdiff - 查找宝石的源存储库。打开、比较和更新过时的宝石版本。
- JsonCompare - 返回两个 JSON 文件之间的差异。
发现
在哪里发现新的 Ruby 库、项目和趋势。- Awesome Ruby @LibHunt - 您的 Ruby 工具箱。Awesome Ruby 收集 + 按受欢迎程度排序、附加元数据和比较。
- GitHub Trending - 查找 GitHub 社区今天最兴奋的存储库。
- Open Source Rails - 最佳开源 Rack 和 Ruby on Rails 网络应用程序画廊。
- Ruby Bookmarks - Ruby 和 Ruby on Rails 书签集合。
- RubyDaily - 社区驱动新闻。
- RubyFlow - Ruby 编程社区链接博客。
- Ruby Land - 一个维护良好的 Ruby/Rails 聚合器,包含新闻、观点、教程等。
- Ruby Rogues - 每周一次的编程专题讨论,主要涉及 Ruby。
- Ruby Weekly - 免费每周一发的 Ruby 新闻和文章汇总。
- The Ruby Bibliography - 关于 Ruby 的研究论文。
- The Ruby Toolbox - Ruby 和 Rails 插件、宝石、工具和资源的综合目录,根据 GitHub 观察者和宝石下载量进行流行度评分。
文档
- AnnotateRb - 为您的 ActiveRecord 模型添加数据库模式注释,作为文本注释以及路由。Annotate 的活跃维护的硬分支。
- Apipie - 使用 Ruby 语法显示 Rails API 文档的工具。
- Asciidoctor - 一种快速、基于 Ruby 的文本处理器和发布工具链,用于将 AsciiDoc 转换为 HTML5、DocBook、EPUB3、PDF 等。
- Documentation - 一个 Rails 引擎,用于为 Rails 应用程序提供添加文档的能力。
- fitting - 库添加改进了 RSpec 和 WebMock 的测试日志,验证其是否符合 API Blueprint 和 Open API,通过日志显示文档覆盖率。
- GitHub Changelog Generator - 自动从您的 GitHub 标签、问题、标签和拉取请求中生成变更日志。
- Gollum - 一个简单、基于 Git 的维基,拥有一个甜美的 API 和本地前端。
- grape-swagger - 为您的 Grape API 添加符合 Swagger 规范的文档。
- Hanna - 一个以简洁、美观和易于浏览为目标的 RDoc 格式化工具。
- Hologram - 一个基于 Markdown 的样式指南文档系统。它可以解析您的 CSS 中的注释,并帮助您将其转换为美观的样式指南。
- Inch - Inch 是一个基于 YARD 的 Ruby 代码文档测量和评估工具。
- RDoc - RDoc 为 Ruby 项目生成 HTML 和命令行文档。
- rspec_api_documentation - 自动从 RSpec 生成 API 文档。
- YARD - YARD 使用户能够轻松生成一致且实用的文档,并可以非常方便地导出为多种格式。
电子商务与支付
- Active Merchant - 从 Shopify 中提取的一个简单的支付抽象库。
- Braintree - Braintree Ruby 绑定。
- Conekta - Conekta Ruby 绑定库。
- credit_card_validations - 用于验证信用卡号码、生成有效号码、进行卢恩校验的 Ruby 宝石。
- Paypal Merchant SDK - 官方 PayPal 商户 SDK for Ruby。
- ROR Ecommerce - 一个基于 Rails 的电子商务平台。
- Solidus - 一个为高容量零售商提供的开源电子商务应用程序。
- Spree - Spree 是一个完整的开源 Ruby on Rails 电子商务解决方案。
- SquareConnect - Square 的支付和其他 Square API 的 SDK。
- stripe-ruby - Stripe Ruby 绑定。
- Workarea - 一个可扩展、高性能的电子商务平台,被世界上一些顶级零售商使用。
Ebook
- Bookshop - Bookshop 是一个面向作者和编辑的开源敏捷图书开发和发布框架。
- Gepub - 一个通用的 EPUB 库,用于 Ruby:支持 EPUB 3。
- Mobi - 一种用 Ruby 读取 MOBI 格式元数据的方法。
- Review - Re:VIEW 是一种灵活的文档格式/转换系统。
- Ahoy Email - 用于电子邮件的分析和跟踪。
- Gibbon - Mailchimp 电子邮件营销平台的 API 封装。
- Griddler - 简化 Rails 中的邮件接收。
- Incoming - Incoming! 帮助您在 Rack 应用中接收邮件。
- LetterOpener - 在浏览器中预览邮件,而不是发送。
- Mail - 一个真正的 Ruby 邮件库。
- MailCatcher - 捕获邮件并通过梦境提供服务。
- MailForm - 在 Rails 中通过表单直接发送电子邮件,支持 I18n、验证、附件和请求信息。
- Maily - 一个 Rails 引擎,用于管理、测试和浏览应用程序的所有电子邮件模板,可以直接在浏览器中预览它们。
- MidiSmtpServer - 高度可定制的 Ruby SMTP 服务库,内置对 AUTH 和 SSL/STARTTLS、8BITMIME 和 SMTPUTF8 的支持,以及 IPv4 和 IPv6 等。
- Pony - 从 Ruby 发送邮件的便捷方式。
- Postal - 用于传入和传出电子邮件的全面开源邮件投递平台。
- premailer-rails - 无需烦恼即可实现 CSS 样式的电子邮件。
- Roadie - Roadie 试图通过内联样式表并在您的邮件中重写相对 URL 来使发送 HTML 邮件稍微不那么痛苦。
- Sup - 一种基于 curses 的带标签线程风格的邮件客户端。
- Truemail - 可配置的、与框架无关的纯 Ruby 邮件验证器/验证框架。通过正则表达式、DNS 和 SMTP 验证电子邮件。确保电子邮件地址有效且存在。
加密
- bcrypt-ruby - bcrypt-ruby 是 OpenBSD bcrypt() 密码哈希算法的 Ruby 绑定。
- RbNaCl - Networking and Cryptography (NaCl)库的 Ruby 绑定。
- Sym - 基于 OpenSSL 的省时对称加密宝石,使用 256 位(密码加密)密钥。从 STDIN、文件、ENV 读取密钥,或在 Mac 上:OS-X Keychain。
- 对称加密 - 透明地加密 ActiveRecord、Mongoid 和 MongoMapper 属性。在配置文件中加密密码。加密处于静止状态的整个文件。
- Themis - 用于轻松实现数据安全的加密库,提供对称和非对称加密、具有前向保密性的安全套接字,适用于移动和服务器平台。
环境管理
- chruby - 切换当前 Ruby 环境。无 shims,无疯狂的选项或功能,约 90 行代码。
- fry - 用于 fish 的简单 Ruby 版本管理器。
- gem_home - 一个用于更改你的 $GEM_HOME 的工具。
- rbenv - 使用 rbenv 为你的应用程序选择 Ruby 版本,并确保你的开发环境与生产环境一致。
- ruby-build - 编译和安装 Ruby。
- ruby-install - 安装 Ruby、JRuby、Rubinius、MagLev 或 MRuby。
- RVM - RVM 是一个命令行工具,允许您轻松地安装、管理和使用多个 Ruby 环境,从解释器到宝石集。
- Tokaido - 将 Ruby、Rails、SQLite 和 Redis 封装在一个单一的拖放式 OS X 应用程序中,旨在让初学者轻松安装可用的 RoR 环境。
- Uru - Uru 是一个轻量级、跨平台命令行工具,帮助您在 32/64 位 Linux、OS X 或 Windows 系统上使用多个 Ruby。
错误处理
- Airbrake - Ruby on Rails(以及其他基于 Rack 的框架)的官方 Airbrake 库。
- Better Errors - Rack 应用的更好错误页面。
- Bugsnag - 用于 Rails、Sinatra、Rack 和纯 Ruby 应用的错误监控。
- Errbit - 开源的、可自托管的错误捕获器。
- Exception Handler - 自定义错误页面。
- Exception Notification - 一套用于在 Rack/Rails 应用程序出错时发送通知的组件。
- Honeybadger - 用于 Ruby 的异常、运行时间和性能监控。
- Nesty - Ruby 的嵌套异常。
- Sentry Ruby - Sentry 的 Ruby 客户端。
- Rollbar - 适用于您应用程序的简单且强大的异常和错误跟踪。
事件溯源
- Eventide Project - 基于Message DB消息存储的发布/订阅、事件溯源和事件驱动自主服务。
- Rails Event Store (RES) - 一个用于发布、消费、存储和检索事件的库。它是您在 Rails 应用程序中采用事件驱动架构的最佳伙伴。
功能开关和 A/B 测试
- Motorhead - 一个帮助安全快速进行功能原型设计的 Rails 引擎框架。
- flipper - 适用于任何场景的功能开关。让功能开启/关闭变得如此简单,以至于每个人都会这样做。无论您的数据存储、吞吐量或体验如何。
- Rollout - 功能开关。
- Split - 基于机架的 A/B 测试框架。
- Unleash - Unleash 的 Ruby 客户端,是一个强大的功能开关系统,为您提供所有应用程序和服务中所有功能开关的绝佳概览。
- Vanity - 一个与数据存储无关的 Rails A/B 测试框架。
文件上传
- attache - 独立式图像和文件服务器,使您的应用程序与文件管理问题解耦。
- CarrierWave - 为 Rails、Sinatra 和其他 Ruby Web 框架提供的更优雅的文件上传解决方案。
- DragonFly - 一个用于即时处理的 Ruby 宝石 - 适用于 Rails、Sinatra 中的图像上传等更多功能!
- PaperClip - Easy file attachment management for ActiveRecord. Deprecated as of May 14, 2018.
- rack-secure-upload - Securely upload files.
- Refile - A modern file upload library for Ruby applications, Refile is an attempt by CarrierWave's original author to fix the design mistakes and overengineering in CarrierWave.
- Shrine - Toolkit for handling file uploads in Ruby.
文件系统监听器
- Guard - 一个命令行工具,用于轻松处理文件系统修改事件。
- Guard::LiveReload - 当'view'文件被修改时自动重新加载浏览器。
- Listen - Listen 宝石监听文件修改并通知您有关更改。
- Rerun - 当文件系统发生变化时重启应用程序。如果在 OS X 上,则使用 growl 和 FSEventStream。
- Retest - 一个简单的命令行工具,用于监视文件变化并运行匹配的 Ruby 规范。适用于任何 Ruby 项目,无需设置。
表单构建器
- Cocoon - 使用 jQuery 轻松实现动态嵌套表单;可与 formtastic、simple_form 或默认表单一起使用。
- ComfyBootstrapForm - 一个使使用 Bootstrap 4 语法创建表单变得简单的 Rails 表单构建器
- Formtastic - 一个具有语义丰富和可访问标记的 Rails 表单构建插件。
- Rails Bootstrap Forms - 一个使创建美观表单变得超级简单的 Rails 表单构建器,使用 Twitter Bootstrap 3+。
- Rapidfire - 制作动态调查应该很简单!
- Reform - 为您提供一个具有验证和模型嵌套设置的表单对象。它完全独立于框架,并且不关心您的数据库。
- Simple Form - 简化 Rails 表单。
游戏开发与图形
- Dragon Ruby - DragonRuby 是一个零依赖、跨平台的 Ruby 运行时,基于 mRuby、libSDL 和 LLVM 构建。在任何操作系统上编写 Ruby 代码,并部署到 PC、Mac、Linux、iOS、Android、Raspberry Pi、WASM、Nintendo Switch、Sony Playstation 和 Microsoft Xbox。
- Gosu - 一种用于 Ruby 和 C++ 编程语言的 2D 游戏开发库。
- Mittsu - Mittsu 通过提供对 OpenGL 的抽象,简化了 3D 图形开发,并且大量基于 THREE.js。
- Ruby 2D - 轻松创建跨平台的 2D 应用程序、游戏和可视化效果。
- Taylor - Taylor 是一个使用 mruby 和 raylib 构建的游戏引擎。
宝石生成器
宝石服务器
- Gemfast - Go 语言编写的 geminabox 的即插即用替代品。
- Gem in a box - 非常简单的 Rubygem 托管。
- Gemirro - 自动创建 Rubygems 镜像的 Gem。
- Gemstash - RubyGems.org 缓存和私有 Gem 服务器。
地理位置
- Geocoder - 一个完整的 Ruby 地理编码解决方案。与 Rails 结合使用时,它提供地理编码(通过街道或 IP 地址)、反向地理编码(根据给定的坐标查找街道地址)和距离查询功能。
- geoip - 在 GeoIP 数据库中搜索给定的主机或 IP 地址,并返回该 IP 地址分配的国家、城市、ISP 及其他信息。
- Geokit - Geokit 宝石提供地理编码和距离/航向计算。
- Google Maps for Rails - 在 Ruby 应用中轻松创建 Google 地图 + 叠加层。
- IP2Location.io - 一个 Ruby SDK,允许用户根据 IP 地址查询丰富数据集,并提供 WHOIS 查询 API,帮助用户获取域名信息。
- rgeo - 地理空间数据库。空间数据类型、几何和球面计算,以及 WKT/WKB 序列化。
Git 工具
- ginatra - 一个用于 Git 仓库的 Web 前端。
- git-auto-bisect - 查找导致 master 分支出问题的提交。
- git_curate - 以人体工学方式浏览和删除 git 分支。
- git_reflow - 为敏捷团队提供自动化质量控制工作流。
- git-spelunk - 浏览 git blame 历史。
- git-whence - 查找提交来自哪个合并。
- Git Lint - 分析 Git 提交以保持一致的质量。
- Overcommit - 一个完全可配置和可扩展的 Git 钩子管理器。
- Rugged - libgit2 的 Ruby 绑定。
GraphQL
- graphql-batch – 一个查询批处理执行器。
- graphql-client - 一个用于声明、组合和执行 GraphQL 查询的库。
- graphql-guard - 一种简单的字段级授权。
- graphql-ruby - GraphQL 的 Ruby 实现。
GUI
- FXRuby - 一个提供对 FOX GUI 工具包接口的 Ruby 库。
- Glimmer - 用于 SWT 的 Ruby DSL。
- qtbindings - 允许从 Ruby 使用 QT Gui 工具包。
- Ruby-GNOME - GNOME 开发环境的 Ruby 语言绑定。
- Shoes - Shoes 使得为 Mac、Windows 和 Linux 构建小型图形程序变得超级简单。
HTML/XML 解析
- HappyMapper - 对象到 XML 映射库,使用 Nokogiri。
- HTML::Pipeline - HTML 处理过滤器和工具。
- Nokogiri - 支持 HTML、XML、SAX 和 Reader 解析器,具有 XPath 和 CSS 选择器支持。
- Nokolexbor - 基于 Lexbor 的高性能 HTML5 解析器,支持 CSS 选择器和 XPath。
- Oga - 一个用 Ruby 编写的 XML/HTML 解析器。Oga 不需要系统库,如 libxml,这使得它在各种平台上更容易、更快地安装。
- Ox - 一个快速 XML 解析器和对象序列化器。
- ROXML - 使用注解风格的类方法,通过 Nokogiri 或 LibXML 在 Ruby 和 XML 之间进行自定义映射和双向序列化。
HTTP 客户端和工具
- Accept Language - 一个用于解析浏览器中
Accept-Language头的微型库(如 RFC 2616 中定义的 RFC 2616)。 - excon - 可用、快速、简单的 Ruby HTTP 1.1。它作为一个通用的 HTTP(s) 客户端运行良好,特别适合用于 API 客户端。
- Faraday - 一个 HTTP 客户端库,它提供了对多个适配器(如 Net::HTTP)的通用接口,并在处理请求/响应周期时采用了 Rack 中间件的 concepts。
- Device Detector - 一个精确且快速的用户代理解析器和设备检测器,由最大且最更新的用户代理数据库支持。
- Http Client - 提供类似 libwww-perl (LWP) 在 Ruby 中的功能。
- HTTP - HTTP 宝石:一个简单的 Ruby DSL,用于发起 HTTP 请求。
- HTTPX - 纯 Ruby HTTP 客户端,支持 HTTP/2 和 HTTP/1,并发请求,插件系统用于扩展功能(cookies、重试、跟随重定向、代理、流式传输等)。
- httparty - 让 HTTP 再次变得有趣!
- Http-2 - HTTP/2 协议的纯 Ruby 实现
- Patron - Patron 是一个基于 libcurl 的 Ruby HTTP 客户端库。
- RESTClient - 一个简单的 Ruby HTTP 和 REST 客户端,灵感来源于微框架语法来指定操作。
- Rack::Cors - 用于 Rack 应用的跨域资源共享(CORS)中间件。
- Savon - Savon 是 Ruby 编程语言的 SOAP 客户端。
- Sawyer - HTTP 的秘密用户代理,基于 Faraday 构建。
- Sniffer – 用于跨多个 Ruby 库记录和调试传出 HTTP 请求的工具。
- Typhoeus - Typhoeus 将 libcurl 封装起来,以实现快速可靠的请求。
图像处理
- FastImage - FastImage 通过获取所需的最小数据量,根据其 uri 找到图像的尺寸或类型。
- ImageProcessing - libvips 和 ImageMagick/GraphicsMagick 的高级图像处理包装器
- MiniMagick - ImageMagick 或 GraphicsMagick 命令行的 Ruby 包装器。
- Phasion - pHash 的 Ruby 包装器,pHash 是用于检测重复多媒体文件的感知哈希库。
- PSD.rb - 使用 Ruby 轻松解析 Photoshop 文件。
- RMagick - RMagick 是 Ruby 和 ImageMagick 之间的接口。
- ruby-vips - libvips 图像处理库的绑定。
- Skeptick - Skeptick 是一个通用的 DSL,用于构建和运行 ImageMagick 命令。
实现/编译器
- JRuby - Ruby 语言的 Java 实现。
- MRuby - 轻量级 Ruby。可以链接并嵌入到您的应用程序中。
- Natalie - Natalie 是一个 Ruby 编译器,它使用 C++和 gcc/clang 作为后端提供提前编译器。
- Opal - Ruby 到 JavaScript 的编译器。
- Rubinius - Ruby 编程语言的一种实现。Rubinius 包含一个字节码虚拟机、Ruby 语法解析器、字节码编译器、代际垃圾回收器、即时(JIT)原生机器码编译器以及 Ruby 核心和标准库。
- TruffleRuby - Ruby 编程语言的高性能实现。基于 Oracle Labs 的 GraalVM 构建。
国际化
- FastGettext - Ruby 国际化工具,内存占用少,命名空间简单清晰,线程安全。
- Globalize - Globalize 基于 Ruby on Rails 中的 I18n API,为 ActiveRecord 模型添加模型翻译。
- i18n-tasks - 利用静态分析的强大功能管理缺失和未使用的翻译。
- i18n - Ruby 国际化和本地化解决方案。
- mini_i18n - 极简、灵活且快速的国际化库。它支持本地化、插值、复数形式、后备、嵌套键等更多功能。
- rails-i18n - 收集 Rails I18n 地区设置数据的仓库,以及其他有趣的、与 Rails 相关的 I18n 内容。
- r18n - 适用于 Rails、Sinatra、桌面应用、模型的先进国际化库,与俄语等复杂语言配合良好。
- Termit - 在终端中进行带语音合成的翻译。
- Tolk - 一个作为 Rails 引擎打包的用于进行 i18n 翻译的 Web 界面。
- twitter-cldr-rb - ICU(国际组件 Unicode)的 Ruby 实现,使用通用区域数据存储库来格式化日期、复数等。
IRB
- Clipboard - 在 Linux、MacOS 和 Windows 上访问系统剪贴板。
- KatakataIrb - 带 Kata(型)补全功能的 IRB。
- irbtools - Ruby 的 IRB 改进。
- Looksee - 一个用于展示对象祖先和方法查找路径的工具。适用于探索不熟悉的代码库。
- Pry - Ruby 标准 IRB shell 的强大替代品。
- rib - 一个轻量级且可扩展的 IRB 替代品。
日志记录
- Fluentd - Fluentd 从各种数据源收集事件,并将它们写入文件、数据库或其他类型的存储。
- HttpLog - 记录外发的 HTTP 请求。
- Log4r - Log4r 是一个用于 Ruby 程序的全面且灵活的日志库。
- Logging - 一个基于 Java 的 log4j 库设计,用于 Ruby 程序的灵活日志库。
- Lograge - 试图控制 Rails 的默认策略,记录所有内容。
- Ougai - 一个结构化日志系统,能够轻松处理消息、结构化数据或异常。它具有 JSON 和人类可读的格式化器。
- Scrolls - 简单的日志记录。
- Semantic Logger - 可扩展的下一代企业级 Ruby 日志记录。
- Syslogger - 标准 Logger Ruby 库的即插即用替代品,将日志记录到 syslog 而不是日志文件。
- Yell - 您的扩展式日志库。
机器学习
- AI4R - 涵盖多个人工智能领域的算法。
- 使用 Ruby 的超棒机器学习 - 一份精选的 Ruby 机器学习链接和资源列表。
m2cgen - 一个将训练好的经典机器学习模型编译成无依赖的原生 Ruby 代码的命令行工具。
- PredictionIO Ruby SDK - PredictionIO Ruby SDK 提供了一个便捷的 API,可以快速记录用户的行为并为他们检索个性化的预测。
- rb-libsvm - LIBSVM 的 Ruby 语言绑定。SVM 是一种机器学习和分类算法。
- ruby-fann - 用于与 FANN(快速人工神经网络)交互的 Ruby 库。
- ruby-openai - OpenAI API + Ruby!
- rumale - 一个具有与 Scikit-Learn 类似接口的机器学习库。
- TensorFlow - 用于 Ruby 的端到端机器学习平台。
- Torch.rb - 基于 LibTorch 的 Ruby 深度学习。
- weka - 用于 JRuby 的机器学习和数据挖掘算法。
Markdown 处理程序
- kramdown - Kramdown 是一个另一种 Markdown 解析器,但速度快,纯 Ruby 编写,使用严格的语法定义,并支持多个常见扩展。
- markdown_helper - 一个 Markdown 预处理器,实现文件包含和页面目录(目录)。
- Maruku - 一个纯 Ruby 的 Markdown 超集解释器。
- Redcarpet - 一个快速、安全且可扩展的 Markdown 到(X)HTML 解析器。
- word-to-markdown - 用于将 Microsoft Word 文档转换为 Markdown 的 Gem。
- ZMediumToMarkdown - 一个强大的工具,允许您轻松下载并将您的 Medium 文章转换为 Markdown 格式。
测量
- Measured - Ruby 中封装测量及其相关单位的包装对象。
- Ruby Units - 提供用于执行单位数学和转换的类和方法。
移动开发
- dryrun - 直接从命令行尝试您智能手机上的任何 Android 库。
- fastlane - 将所有 iOS 部署工具整合到一个简化的工作流程中。
- PubNub - 云端的实时推送服务。
- Ruboto - 一个使用 Ruby 语言和库开发完整独立 Android 应用的平台。
- RubyMotion - 一个革命性的工具链,让您能够快速开发和测试适用于 iPhone、iPad、Mac 和 Android 的完整原生 iOS 和 OS X 应用程序。
Money
- eu_central_bank - 一个使用欧洲中央银行公布的汇率计算汇率的 gem。
- Monetize - 一个将各种对象转换为 Money 对象的库。
- Money - 一个用于处理货币和货币转换的 Ruby 库。
音乐和声音
- Coltrane - 一个带有命令行界面的音乐理论库。
- Maestro - 一个由 Slack 驱动的 Spotify 音乐机器人。
- Sonic Pi - 一个为所有人设计的实时编程合成器,最初用于支持计算和音乐课程。
自然语言处理
- Awesome NLP with Ruby - Ruby 语言实现的实用自然语言处理工具列表。
- Parslet - 一个用于构建 PEG(解析表达式文法)风格解析器的 Ruby 小库。
- pocketsphinx-ruby - 使用 Pocketsphinx 的 Ruby 语音识别。
- Pragmatic Segmenter - Pragmatic Segmenter 是一个基于规则的句子边界检测 gem,可以开箱即用地支持多种语言。
- Ruby 自然语言处理资源 - 收集了 Ruby 自然语言处理(NLP)库、工具和软件的链接。
- ruby-spellchecker - 英语拼写和语法检查器,可用于自动更正。
- Sentimental - 使用 Ruby 进行简单的情感分析。
- 文本 - 一个包含 Levenshtein 距离、Metaphone、Soundex 2、Porter 词干提取和 White 相似度的文本算法集合。
- Textstat - 用于文本可读性分析的 Ruby 宝石。使用 13 种经过验证的公式(Flesch、SMOG、Coleman-Liau 等)计算可读性统计数据,支持 22 种语言。
- Treat - Treat 是一个用于自然语言处理和计算语言学的 Ruby 工具包。
- Treetop - PEG (Parsing Expression Grammar) 解析器。
- Words Counted - 一个高度可定制的 Ruby 文本分析器和词频统计器。
Networking
- Dnsruby - 一个纯 Ruby DNS 客户端库,实现了存根解析器。旨在符合所有 DNS RFC。
- RubyDNS - 一个高性能的 DNS 服务器,可以轻松集成到其他项目中,或作为独立的守护进程使用。
- PacketFu - 一个用于读取和写入接口数据包或 libpcap 格式文件的库。
通知
- Noticed - 为您的 Ruby on Rails 应用提供的类似 ActionMailer 的通知系统。
- Ruby Push Notifications - 简化 iOS、Android 和 Windows Phone 推送通知。
- Rpush - 用于 Ruby 的推送通知服务,支持 Apple Push Notification Service、Google Cloud Messaging、Amazon Device Messaging 和 Windows Phone Push Notification Service。
- webpush - Web Push 协议的加密工具。
优化
- bootsnap - 加速启动大型 Ruby/Rails 应用程序。
- fast_blank - 提供一种 C 语言优化的方法来判断一个字符串是否为空白。
- fast_count - 快速获取大型表的计数估计(>99%的准确性适用于 PostgreSQL)。
- fast_underscore - 提供一种 C 语言优化的方法,将字符串从任何大小写格式转换为下划线分隔格式。
- pluck_in_batches -
in_batches与pluck自定义使用的更快替代方案。 - yajl-ruby - 一个用于 Ruby 的流式 JSON 解析和编码库(与 yajl 的 C 绑定)。
ORM/ODM
- ActiveRecord - Rails 中的对象关系映射。
- Hanami::Model - 一个基于 Repository 模式的轻量级 ORM 框架,适用于 Hanami 和现代 Ruby 应用程序。
- Mongoid - 一个用于 MongoDB 的 Ruby ODM(对象-文档-映射器)框架。
- MongoModel - 用于与 MongoDB 数据库交互的 Ruby ODM。
- Neo4j.rb - 一个受 ActiveRecord 重重启发的,用于 Ruby on Rails 和 Rack 框架的 Neo4j OGM(对象-图-映射器)。
- NoBrainer - 一个用于 Ruby 的 RethinkDB ORM。
- Ohm - 用于 Redis 的对象哈希映射库。
- Redis-Objects - Redis Objects 提供了一个 Ruby 风格的 Redis 接口,通过在 redis gem 上的一层薄层映射 Redis 数据类型到 Ruby 对象。
- ROM - Ruby 对象映射器(ROM)是一个实验性的 Ruby 库,旨在提供强大的对象映射功能,同时不限制您数据存储的完整功能。
- Sequel - Sequel 是一个简单、灵活且强大的 SQL 数据库访问工具包,用于 Ruby。
ORM/ODM 扩展
- 审计和版本控制
- active_snapshot - 为 ActiveRecord 模型和关联提供简化的快照和恢复功能,具有透明的白盒实现
- acts_as_archival - 用于原子对象树归档的 ActiveRecord 插件。
- ActsAsParanoid - 一个 ActiveRecord 插件,允许您隐藏和恢复记录,而无需实际删除它们。
- Audited - Audited 是一个用于 ActiveRecord & MongoMapper 的 ORM 扩展,可以记录模型的所有变更。
- 已销毁于 - 允许您在不删除记录或关联记录的情况下“销毁”对象。
- Discard - 一个简单的 ActiveRecord 混合类,用于添加标记记录为已丢弃的约定。
- Logidze - Rails 数据库变更日志。
- marginalia - 将注释附加到您的 ActiveRecord 查询。默认情况下,它将应用程序、控制器和操作名称作为注释添加到每个查询的末尾。
- mongoid-history - mongoid 的多用户非线性历史跟踪、审计、撤销、重做。
- PaperTrail - 跟踪 ActiveRecord 模型数据的变更,用于审计或版本控制。
- Paranoia - Rails 3 和 4 的 acts_as_paranoid 重新实现,使用大量、大量、大量的更少代码。
- PermenantRecords - 像 ActsAsParanoid 的显式版本一样,软删除你的 ActiveRecord 记录。
- 位数组
- ActiveFlag - 使用 ActiveRecord 在单个整数列中存储高达 64 个多个标志。
- Bitfields - 通过将多个布尔值存储在一个整数中来保存迁移和列。
- 导入
- ActiveRecord Import - 一个使用 ActiveRecord 批量插入数据的库。
- bulk_insert - 一个小小的 ActiveRecord 扩展,用于帮助在一个插入语句中插入大量行。
- data_miner - 下载、从 ZIP/TAR/GZ/BZ2 存档中提取、解析、纠正并导入 XLS、ODS、XML、CSV、HTML 等,到您的 ActiveRecord 模型中。
- ferry - 一个用于轻松数据传输的 Ruby 宝石。
- 杂项
- arel_extensions - 扩展 Arel:更“Ruby 风格”的语法,字符串、日期、数学等函数,并为某些数据库添加原生扩展。
- ActiveRecord::Turntable - 一个用于 ActiveRecord 的数据库分片扩展。
- ActiveValidators - 一个包含大量现成且经过测试的 ActiveModel/ActiveRecord 验证的集合。
- DeepPluck - 允许您在不加载大量记录的情况下从嵌套关联中提取属性。
- Enumerize - 支持 I18n 和 ActiveRecord/Mongoid/MongoMapper 的枚举属性。
- Goldiloader - 自动化 ActiveRecord 激进加载。
- Rating - 一个具有作用域和缓存功能的真实贝叶斯评分系统。
- 多租户
- Acts As Tennant - 通过共享数据库策略为 Rails 应用添加多租户功能。
- Apartment - Rails 和 ActiveRecord 的多租户解决方案。
- Milia - 非侵入式 Rails 多租户解决方案,支持开箱即用的 Devise 身份验证。
- 社交
- Merit - 为 Rails 应用添加声誉行为,以徽章、积分和排名的形式支持 ActiveRecord 或 Mongoid。
- PublicActivity - 为您的 Rails 3 和 4 中的 ActiveRecord、Mongoid 3 和 MongoMapper 模型提供便捷的活动跟踪功能。类似于 Github 的 Public Activity。
- Simple Feed - 一款纯 Ruby 编写的快速、高度可扩展的读取优化型社交活动信息流库,支持 Redis。
- Unread - 管理 ActiveRecord 对象的已读/未读状态 - 而且速度很快。
- 排序
- ActsAsList - 提供了在列表中对一组对象进行排序和重新排序的功能。
- positioning - Active Record 模型的简单定位。支持每个模型有多个列表和相对定位。
- ranked-model - 一个用于 ActiveRecord 的现代行排序库。它大量使用 ARel,并且比大多数其他库优化得更好。
- 标记
- Acts As Taggable On - 一个用于 Rails 应用的标签插件,允许在动态上下文中进行自定义标签。
- 树
- ActsAsTree - 扩展 ActiveRecord,为组织项目到父子关系提供简单支持。
- ActsAsRecursiveTree - ActsAsTree 但支持递归。
- Ancestry - 使用 materialised path 模式的变体将 ActiveRecord 模型组织成树状结构。
- Awesome Nested Set - Awesome Nested Set 是一种用于 ActiveRecord 模型的嵌套集模式实现。
- Closure Tree - 使用闭包表轻松高效地使 ActiveRecord 模型支持层次结构。
- Mongoid Tree - 使用 materialised path 模式为 Mongoid 文档创建树状结构。
软件包管理
- 宝石
- Bundler - 使用更少的痛苦来管理您应用程序的宝石依赖项。
- RubyGems - 社区的宝石托管服务。
- Cloudsmith - 一个完全托管的软件包管理 SaaS,支持 Rubygems(以及其他许多)。
- 软件包和应用
- Berkshelf - 一个 Chef Cookbook 管理器。
- CocoaPods - Objective-C 依赖管理器。
- fpm - 极其方便的软件包管理!轻松为多个平台(deb、rpm 等)构建软件包。
- Linuxbrew - Linux 下的 Homebrew 分支。
- Homebrew-cask - 用于管理以二进制形式发布的 Mac 应用程序的 CLI 工作流程。
- Homebrew - OS X 缺少的包管理器。
- Traveling Ruby - Traveling Ruby 允许您为 Linux 和 OS X 创建自包含的 Ruby 应用程序包。
分页
- activerecord_cursor_paginate - 为 ActiveRecord 提供的基于游标的分页。
- Kaminari - 基于 Scope 和 Engine 的干净、强大、可定制和高级的分页器,适用于现代 Web 应用框架和 ORM。
- order_query - 一个键集分页库,可以高效地查找相对于当前记录的下一个或上一个记录,例如用于无限滚动。
- Pagy - Pagy 是一款在每次基准测试和比较中都优于其他产品的终极分页宝石。更多详情请参阅 Pagy Wiki。
- will_paginate - 与 Ruby on Rails、Sinatra、Merb、DataMapper 和 Sequel 集成的分页库。
- CombinePDF - 一个纯 Ruby 库,用于合并或拆分 PDF 文件、编号页面等。
- Grim - 将 PDF 页面提取为图像和文本。一个简单的 Ruby API,用于 ghostscript、imagemagick 和 pdftotext。
- HexaPDF - 一个用于 Ruby 的通用 PDF 创建和操作库。
- InvoicePrinter - 基于 Prawn 的简单 Ruby PDF 开票工具。
- Kitabu - 一个使用 Ruby 从 Markdown/Textile 文本标记创建电子书的框架。
- Pdfkit - 使用 wkhtmltopdf 将 HTML+CSS 转换为 PDF。
- Prawn - 快速、敏捷的 Ruby PDF 编写器。
- RGhost - RGhost 是一个文档创建和转换 API。
- Squid - Squid · 一个用于在 PDF 文件中绘制图表的 Ruby 库。
- Wicked Pdf - 基于 HTML 的 PDF 生成器(Ruby on Rails 插件)。
性能监控
- Instrumental - 使用 Instrumental 实时测量您的应用程序。
- New Relic - 使用 New Relic 应用程序监控和故障排除查找和修复 Ruby 错误。
- RoRvsWild - 为 Rails 开发者提供性能和异常监控。
- Scout - Scout Ruby 应用程序监控代理。
- Skylight - 一个智能的分析器,用于您的 Rails 应用,可视化请求性能。
演示程序
- Slide Show (S9) - 使用纯文本和 markdown 格式编写您的幻灯片/演讲/演示文稿,并生成(静态)网页;包含 deck.js、impress.js、reveal.js、shower、s6、s5 等模板包。
进程管理与监控
- Bluepill - 简单的进程监控工具。
- Eye - 进程监控工具。灵感来源于 Bluepill 和 God。
- Foreman - 管理基于 Procfile 的应用程序。
- God - 一个易于配置、易于扩展的监控框架,用 Ruby 编写。
- Health Monitor Rails - 一个可挂载的 Rails 插件,用于检查 Rails 应用使用的服务(数据库、缓存、Sidekiq、Redis 等)的健康状况。
- Procodile - 从 Procfile 在 Mac & Linux 上以后台(和前台)方式运行进程。
- RedisWebManager - 一个 Web 界面,允许您轻松管理您的 Redis 实例(查看键、使用的内存、连接的客户端等)。
流程
- childprocess - 跨平台的 Ruby 库,用于管理子进程。
- posix-spawn - 基于 posix_spawn() 系统接口的 Ruby >= 1.8.7 的快速 Process::spawn。
分析器和优化
- batch-loader – 一种通用的惰性批处理机制,用于避免 N+1 数据库查询、HTTP 查询等。
- benchmark-ips - 提供 Ruby 的每秒迭代基准测试。
- bullet - 帮助消除 N+1 查询和未使用的贪婪加载。
- Derailed Benchmarks - 一系列可用于基准测试任何基于 Rack 的应用程序的工具。
- Peek - 显示 Rails 性能的可视化状态栏。
- rack-mini-profiler - 用于开发和生产 Ruby rack 应用的分析器。
- Rbkit - Ruby 分析器。带图形界面。
- rbspy - 任何 Ruby 进程的采样分析器。
- ruby-prof - MRI Ruby 的代码分析器。
- stackprof - ruby 2.1+的采样调用栈分析器。
- test-prof - Ruby 测试分析工具箱
QR
- RQRCode - RQRCode 是一个用于创建和渲染二维码到各种格式的库。
队列和消息传递
- Backburner - Backburner 是一个基于 beanstalkd 的工作队列,可以处理非常高的工作量。
- Bunny - Bunny 是一个流行的、易于使用、维护良好的 Ruby 客户端,用于 RabbitMQ (3.3+)。
- Delayed::Job - 数据库支持的异步优先队列。
- GoodJob - GoodJob 是一个多线程的、基于 Postgres 的、Ruby on Rails 的 ActiveJob 后端。
- Gush - 一个仅使用 Redis 和 Sidekiq 的复杂工作流并行执行器。
- JobIteration - 一个 ActiveJob 扩展,使长运行任务可中断和可恢复。
- Karafka - 用于简化基于 Apache Kafka(一个分布式流平台)的 Ruby 应用程序开发的框架。
- Lowkiq - 用于 Sidekiq 无法帮助的情况下的背景任务有序处理。
- March Hare - 一种地道、快速且维护良好的 JRuby 客户端,用于 RabbitMQ。
- Resque - 一个基于 Redis 的 Ruby 库,用于创建背景任务。
- Que - 一个使用 PostgreSQL 的建议锁来提高速度和可靠性的 Ruby 任务队列。
- RocketJob - 一款专注于性能、可扩展性、可靠性和系统内每个作业的可视性的企业批处理系统。现有解决方案已无法满足需求?或者,从小规模开始并后期扩展。
- Shoryuken - 一个基于 AWS SQS 的超级高效的 Ruby 消息处理器。
- Sidekiq - 一个功能齐全的 Ruby 后台处理框架。旨在与任何现代 Rails 应用程序轻松集成,并且比其他现有解决方案具有更高的性能。
- SidekiqIteration - 一个 Sidekiq 扩展,用于使长时间运行的任务可中断和可恢复。
- Sneakers - 一个用于 Ruby 和 RabbitMQ 的快速后台处理框架。
- Sucker Punch - 一个使用 Celluloid 的单进程后台处理库。旨在成为 Sidekiq 的小兄弟。
Rails 应用程序生成器
- Bootstrappers - Bootstrappers 使用 Bootstrap 模板和其他好东西生成一个基础的 Rails 应用程序。
- Hobo - Rails 的 Web 应用程序构建器。
- orats - 主观的 rails 应用程序模板。
- Rails Composer - 用于启动应用的 Rails 生成器增强版。
- Raygun - 已完成常见定制化工作的应用程序构建工具。
- Suspenders - thoughtbot 使用的基于 Rails 的基础应用程序。
机器人技术
- Arli - Arli 是基于 YAML 格式的 Arlifile,用于搜索、安装和打包 Arduino 库的 CLI 工具。它是“Arduino 开发捆绑工具”。
- Artoo - 支持不同平台(Arduino、Leap Motion、Pebble、Raspberry Pi 等)的下一代机器人框架。
RSS
- Feed normalizer - 用于 Atom 和 RSS 解析的可扩展 Ruby 包装器。
- Feedjira - 一个用于获取和解析的库。
- feedparser - 一个用于解析和规范化(Atom、RSS、JSON 等)的库。
- Simple rss - 一个简单、灵活、可扩展且自由的 RSS 和 Atom 阅读器。
- Stringer - 一个自托管、反社交的 RSS 阅读器。
无服务器
- FaaStRuby - Ruby 和 Crystal 开发者的无服务器软件开发平台。
- Jets - 一个 Ruby 无服务器框架,可轻松创建和部署无服务器微服务,并无缝集成 AWS 服务。
- 🐑 Lamby - 使用 Rack 的简单 Rails & AWS Lambda 集成
调度
- minicron - 一个管理和监控 cron 作业的系统。
- que-scheduler - 一个轻量级的 cron 调度器,用于异步作业工作器 Que。
- resque-scheduler - 基于 Resque 构建的一个轻量级作业调度系统。
- rufus-scheduler - Ruby 的作业调度器(支持 at、cron、in 和 every 作业)。
- ruby-clock - 一个作业调度器,每个作业都在自己的线程中运行,在持久化进程中运行。
- Sidekiq-Cron - Sidekiq 的调度插件。
- Simple Scheduler - 用于在特定时间调度作业的 Heroku Scheduler + Sidekiq 增强功能,使用可读的 YML 文件。
- Whenever - 一个提供清晰语法的 Ruby 宝石,用于编写和部署 cron 任务。
科学
- 绑定
- PyCall - 从 Ruby 语言调用 Python 函数。
- ruby-opencv - 一个用于 Ruby 的 OpenCV 封装。
- 分类器
- classifier-reborn - Classifier 的活跃分支,是一个通用的模块,允许贝叶斯和其他类型的分类。
- 数据分析/结构
- daru - 一个用于纯 Ruby 存储数据、分析数据、操作数据和可视化数据的库。
- Daru::View - 一个用于在 Jupyter Notebooks 和 Web 应用程序上轻松进行交互式绘图的库。
- Rgl - 一个用于图数据结构和算法的框架。
- 数值数组
- NMatrix - 用于 Ruby 的快速数值线性代数库。
- Numo::NArray - Ruby 的 N 维数值数组。
- mdarray - 受 NumPy 启发的 JRuby 多维数组实现。
- Red Data Tools - Ruby 的数据处理工具。
- SciRuby - 用于 Ruby/Rails 的科学计算工具。
- IRuby - Jupyter 的 Ruby 核心。
- statsample - Ruby 中的基本和高级统计套件。
- statsample-timeseries - Bioruby Statsample TimeSeries。
- statsample-glm - Statsample 的广义线性模型扩展。
- distribution - 统计分布多库封装。
- minimization - 纯 Ruby 实现的优化算法。
- 特定
- BioRuby - 用于开发生物信息学软件的库。
- bloomfilter-rb - Ruby 中的 BloomFilter(s):原生计数过滤器 + Redis 计数/非计数过滤器。
- decisiontree - 一个实现了决策树学习 ID3(信息增益)算法的 Ruby 库。
- 工具类
- algorithms - 包含特定结构/算法使用时文档的库。
- jaro_winkler - Jaro-Winkler 距离算法的 Ruby & C 实现,支持 UTF-8 字符串。
- primes-utils - 一个 Rubygem,提供一套用于测试和生成素数的极快实用方法。
- Roots - 一个 Rubygem,提供用于查找实数和复数的所有第 n 根的实用工具。
- smarter_csv - 用于将 CSV 文件作为哈希数组的集合的 Ruby Gem,实现更智能的导入。
搜索
- chewy - 基于官方 elasticsearch-ruby 客户端的 Ruby 高级 Elasticsearch 框架。
- elasticsearch-ruby - Elasticsearch 的 Ruby 集成。
- elastics - 支持迁移和 ActiveRecord 集成的简单 ElasticSearch 客户端。
- has_scope - Has scope 允许您根据资源的命名范围轻松创建控制器过滤器。
- Mongoid Search - Mongoid 的简单全文搜索实现。
- pg_search - 构建 ActiveRecord 命名范围,利用 PostgreSQL 的全文搜索。
- ransack - 基于对象搜索。
- Rroonga - Groonga 的 Ruby 绑定。
- scoped_search - 为 ActiveRecord 模型和关联添加支持搜索查询和自动补全的范围。
- SearchCop - 通过简单的查询字符串和基于哈希的查询扩展您的 ActiveRecord 模型,以支持全文搜索引擎的查询。
- Searchkick - Searchkick 学习您的用户在寻找什么。随着越来越多的人搜索,它变得越来越智能,结果也越来越好。它对开发者友好——对用户来说则神奇无比。
- Sunspot - 一个用于与 Solr 搜索引擎进行表达性、强大交互的 Ruby 库。
- textacular - 揭示 PostgreSQL 的全文搜索功能,并允许您声明全文索引。Textacular 通过命名范围方法扩展了 ActiveRecord,使搜索变得简单有趣!
- Thinking Sphinx - 一个用于将 ActiveRecord 连接到 Sphinx 全文搜索工具的库。
- typesense-ruby - Typesense 的 Ruby 客户端,一个快速、容错搜索引擎。
安全性
- BeEF - BeEF 是 The Browser Exploitation Framework 的缩写。它是一个专注于浏览器的渗透测试工具。
- bundler-audit - Bundler 的补丁级别安全验证。
- Fingerprinter - CMS/LMS/图书馆等版本指纹识别器。
- haiti - 哈希类型识别器(命令行界面和库)。
- Metasploit - 世界上使用最广泛的渗透测试软件。
- Pipal - 密码分析器和统计生成器
- Rack::Attack - 用于阻止和限制滥用请求的 Rack 中间件。
- Rack::Protection - 用于防范典型网络攻击的 Rack 中间件。
- Ronin - 一个用于漏洞研究和漏洞开发 Ruby 平台。
- SecureHeaders - 自动应用多个与安全相关的头部,包括:内容安全策略(CSP)、HTTP 严格传输安全(HSTS)、X-Frame-Options(XFO)、X-XSS-Protection、X-Content-Type-Options、X-Download-Options & X-Permitted-Cross-Domain-Policies。
- WhatWeb - 网站指纹识别器。
- WPscan - WordPress 漏洞扫描器。
服务与应用
在线工具、服务和 API,简化开发。- AppSignal - 为您的 Rails 应用程序提供更好的监控。
- Codacy - 为 Ruby、Rails、JS、PHP、Python 等提供自动化代码审查。安全、覆盖率和质量。
- CodeClimate - 为 Ruby on Rails 和 Javascript 提供质量和安全性分析。
- GitHub - 强大的协作、代码审查和代码管理工具,适用于开源和私有项目。
- Gitlab CI - 与您的 GitLab 集成,以运行您的项目测试。
- GitLab - 开源软件,用于协作编写代码。
- HoundCI - 审查您的 Ruby 代码,以查找风格指南违规。
- Inch CI - 用于 Ruby 项目的文档徽章。
- OctoLinker - 通过 OctoLinker 浏览器扩展高效地在 GitHub.com 上导航项目。
- SemaphoreCI - 用于开源和私有项目的托管持续集成和部署服务。
- Travis CI - 带着信心测试和部署您的代码。
搜索引擎优化
- FriendlyId - Active Record 的 slug 和永久链接插件的“瑞士军刀”。
- MetaTags - 一个让您的 Rails 应用程序 SEO 友好的宝石。
- prerender_rails - 用于动态预渲染 javascript 渲染页面的 Rails 中间件 gem,以优化 SEO。
- SitemapGenerator - 一种与框架无关的 Ruby 编写的 XML 站点地图生成器。
社交网络
- Decidim - 城市和组织免费开源的参与式民主
- diaspora* - 一种注重隐私、分布式、开源的社交网络。
- Discourse - 一个用于社区讨论的平台。免费、开放、简单。
- Mailboxer - 一个用于 Rails 应用的私聊系统。
- Mastodon - 一个兼容 GNU Social 的微型博客服务器。
- Retrospring - 一个遵循问答原则的社交网络。
- 社交分享 - 一个用于检查 URL 在社交网络中被分享次数的宝石。
- Thredded - Rails 4.2+ 论坛/消息板引擎。其目标是尽可能简单且功能丰富。
电子表格和文档
- CAXLSX - 一个由社区维护的 Excel XLSX 生成库。AXLSX - 原版。
- Docsplit - 一个将 Microsoft Word(以及其他)文档转换为图像、PDF、页面或文本的 gem。
- Roo - 实现对所有电子表格类型的读取访问,以及对 Google 电子表格的读写访问。
- spreadsheet_architect - Spreadsheet Architect 是一个库,允许您从 ActiveRecord 关系、普通的 Ruby 对象或表格数据非常轻松地创建 XLSX、ODS 或 CSV 电子表格。
状态机
- AASM - Ruby 类状态机(纯 Ruby、Rails Active Record、Mongoid)。
- FiniteMachine - 一种纯 Ruby 状态机,具有简单直观且表达力强的语法。
- MicroMachine - 一种在不到 50 行代码中实现的极简有限状态机。
- simple_states - 一个超级精简的状态机支持库。
- Statesman - 一个具有政治家般风格的状态机库。
- state_machines - 为任何 Ruby 类的属性添加创建状态机的支持。
- transitions - 一个 Ruby 状态机实现。
- Workflow - 一个受有限状态机启发的 API,用于建模和交互我们通常称为“工作流”的内容。
静态网站生成
- Bridgetown - 一个基于 Ruby、兼容 Webpack 的现代 Jamstack 时代的静态网站生成器。
- High Voltage - 轻松在您的 Rails 应用中包含静态页面。
- Jekyll - 将您的纯文本转换为静态网站和博客。
- Awesome Jekyll - 一系列优秀的 Jekyll 工具、插件、主题、指南和更多资源的集合。
- Middleman - 一个使用现代 Web 开发中所有快捷方式和工具的静态网站生成器。
- Nanoc - 一个静态网站生成器,适用于从小型个人博客到大型企业网站的各种构建需求。
- Photish - 从照片集合中生成高度可配置的静态网站。
- webgen - webgen 是一个快速、强大且可扩展的静态网站生成器。
模板引擎
- Curly - 一种完全分离结构和逻辑的模板语言。
- Haml - HTML 抽象标记语言。
- Liquid - 一种安全、面向客户的灵活网页应用模板语言。
- Mustache - 无逻辑的 Ruby 模板。
- Slim - 一种模板语言,目标是减少语法到必要部分而不变得晦涩。
- Tilt - 多个 Ruby 模板引擎的通用接口。
测试
- 框架
- RSpec - Ruby 的行为驱动开发。
- 格式化工具
- Emoji-RSpec - RSpec 的自定义 Emoji 格式化工具。
- Fuubar - 即时失败的 RSpec 进度条格式化工具。
- Nyan Cat - 受 Nyan Cat 启发的 RSpec 格式化工具!
- Aruba - 使用 cucumber 和 rspec 测试命令行应用程序。
- Bacon - 一个小的 RSpec 克隆。
- Capybara - Web 应用的验收测试框架。
- Cucumber - 首先与领域专家沟通,其次与代码沟通的行为驱动开发。
- Cutest - Ruby 中的隔离测试。
- Fix - Ruby 的 Spec 测试框架。
- Howitzer - 基于 Ruby 的验收测试框架
- minitest - minitest 提供了一套完整的测试设施,支持 TDD、BDD、模拟和基准测试。
- Mocha - Mocha 是一个用于 Ruby 的模拟和桩库。
- RR - 一个具有丰富双倍技术和简洁语法的测试双倍框架。
- shoulda-matchers - 提供与 Test::Unit 和 RSpec 兼容的一行式测试,用于测试常见的 Rails 功能。否则这些测试会非常长、更复杂且容易出错。
- Spinach - Spinach 是一个高级 BDD 框架,利用表达性 Gherkin 语言(Cucumber 使用)来帮助您定义应用程序或库的验收标准的可执行规范。
- TestBench - TestBench 是一个为 Ruby 和 MRuby 设计的原则性测试框架,旨在提供有效且便捷地测试设计良好的代码所需的功能。
- Test::Unit - Test::Unit 是一个 Ruby 的 xUnit 家族单元测试框架。
- 伪造数据
- Fabrication - 一个简单而强大的对象生成库。
- factory_bot - 一个用于将 Ruby 对象设置为测试数据的库。
- Fake Person - 使用美国和英国最受欢迎的名字和姓氏。
- faker - 一个用于生成假数据的库,如姓名、地址和电话号码。
- ffaker - 更快的 Faker,生成虚拟数据,faker 的重写版本。
- Forgery - 易于使用和可定制的伪造数据生成工具。
- 模拟
- ActiveMocker - 从 ActiveRecord 模型生成模拟对象,用于单元测试,运行速度快,因为它们不需要加载 Rails 或数据库。
- DnsMock - Ruby DNS 模拟。模拟任何 DNS 记录以用于测试环境,甚至更多。
- DuckRails - 快速动态模拟 API 端点的工具。
- SmtpMock - Ruby SMTP 模拟工具。使用伪造的 SMTP 服务器模拟任何 SMTP 服务器的行为,以供测试环境使用。
- TestXml - TestXml 是一个用于测试 XML/HTML 的小型扩展。
- WebMock - 用于模拟和设置 HTTP 请求期望的库。
- WebDriver
- Ferrum - 用于在 Ruby 中控制 Chrome 的高级 API。
- Poltergeist - Capybara 的 PhantomJS 驱动程序。
- Selenium WebDriver - WebDriver 的 Ruby 绑定。
- Watir - Ruby 中的 Web 应用程序测试。
- 额外
- Appraisal - Appraisal 与 bundler 和 rake 集成,用于测试您的库与不同版本的依赖项。
- CQL - CQL 是一个用于对 Cucumber 风格测试套件进行查询的库。
- cuke_modeler - 一个用于
.feature文件的建模库,它是在gherkin宝石之上的抽象层,提供了一个稳定的基础,用于构建其他 Gherkin 相关工具。 - gitarro - 运行、重新触发、处理所有类型和与操作系统无关的测试针对您的 GitHub Pull Requests。
- Knapsack - 在 CI 节点上为 RSpec、Cucumber、Minitest、Spinach 和 Turnip 实现最优的测试套件并行化。
- mutant - Mutant 是一个用于 Ruby 的突变测试工具。
- Parallel Tests - 通过在多个 CPU(或核心)上并行运行来加速 Test::Unit + RSpec + Cucumber。
- power_assert - Ruby 的 Power Assert。
- Ruby-JMeter - 一个基于 Ruby 的 DSL,用于构建 JMeter 测试计划。
- Spring - 在后台预加载您的 Rails 环境,以加快测试和 Rake 任务的运行速度。
- timecop - 提供“时间旅行”和“时间冻结”功能,使测试依赖时间的代码变得非常简单。
- Turbo Tests - 在多个核心上运行 RSpec 测试。类似于
parallel_tests,但具有增量汇总输出。 - vcr - 录制您的测试套件的 HTTP 交互,并在未来的测试运行中重放它们,以实现快速、确定性和准确的测试。
- Wraith - 一种响应式屏幕截图比较工具。
- Zapata - 谁有时间写测试?这是一个革命性的工具,可以使其自动编写。
第三方 API
- Ably - Ably 的实时通信 Ruby 库。
- Buffer - Buffer API Ruby 库
- discordrb - Discord API 的实现。
- Dropbox - Dropbox API v2 的 Ruby 客户端。
- fb_graph2 - 全栈 Facebook Graph API 封装器。
- flickr - Flickr API 的 Ruby 接口。
- gitlab - GitLab API 的 Ruby 封装器和 CLI。
- google-api-ads-ruby - Google Adwords Ruby 客户端
- gmail - 一个面向 Gmail 的 Ruby 风格接口,提供所有您需要的工具。
- hipchat-rb - HipChat HTTP API 封装器,支持 Ruby 和 Capistrano 钩子。
- instagram-ruby-gem - Instagram REST 和搜索 API 的官方 gem。
- itunes_store_transporter - Apple 的 iTMS Transporter 程序的 Ruby 包装器。
- linkedin - 提供一个易于使用的 LinkedIn REST API 包装器。
- Notion Ruby Client - Notion API 的 Ruby 包装器。
- Octokit - GitHub API 的 Ruby 工具包。
- Pusher - Pusher API 的 Ruby 服务器库。
- Restforce - Salesforce REST api 的 Ruby 客户端。
- ruby-gmail - Gmail 的 Rubyesque 接口。
- ruby-trello - Ruby 的 Trello API 实现。
- simple-slack-bot - 您可以轻松制作 Slack Bot。
- Slack Notifier - 一个用于发布到 Slack 频道的简单包装器。
- Slack ruby gem - Slack API 的 Ruby 包装器。
- soundcloud-ruby - 官方 SoundCloud API 的 Ruby 包装器。
- t - 一个用于 Twitter 的命令行强大工具。
- terjira - 一个用于 Jira 的命令行强大工具。
- tweetstream - 一个简单的库,用于消费 Twitter 的 Streaming API。
- twilio-ruby - 一个用于使用 Twilio REST API 和生成有效 TwiML 的模块。
- twitter - 一个用于 Twitter API 的 Ruby 接口。
- whatsapp-sdk - 用于 WhatsApp API 的 Ruby 客户端。
- wikipedia - 用于 Wikipedia API 的 Ruby 客户端。
- Yt - 一个面向对象的 Ruby 客户端,用于 YouTube API V3。
视频
- Streamio FFMPEG - 简单而强大的 ffmpeg 命令封装,用于读取元数据和转换电影。
- VideoInfo - 从 Dailymotion、Vimeo、Wistia 和 YouTube URL 获取视频信息。
- Video Transcoding - 用于转换、检查和转换视频的工具。
查看组件
- Cells - Rails 的视图组件。
- Komponent - 一种基于组件的 Rails 前端代码组织方式。
- Phlex - 用于构建面向对象视图的 Ruby 框架。
- ViewComponent - Rails 的视图组件。
视图辅助工具
- active_link_to - 管理链接"活动"状态的视图辅助工具。
- auto_html - 用于将 URL 转换为适当资源(图像、链接、YouTube、Vimeo 视频等)的 Rails 扩展。
- Bh - Ruby 的 Bootstrap 辅助工具。
- gon - 如果你需要将一些数据发送到你的 js 文件,并且不希望通过视图和解析进行长距离传输,请使用 gon。
- PluggableJs - 针对 Rails 应用程序的页面特定 JavaScript,具有从控制器传递数据的能力。
- render_async - 异步渲染部分视图以提升页面加载性能。
网络爬虫
- LinkThumbnailer - 一个 Ruby 宝石,可以从给定的 URL 生成缩略图和视频。类似于流行的社交网站链接预览。
- Kimurai - 一个用 Ruby 编写的现代网络抓取框架,可以与 Headless Chromium/Firefox、PhantomJS 或简单的 HTTP 请求无缝工作,允许抓取和与 JavaScript 渲染的网站交互。
- Mechanize - Mechanize 是一个 Ruby 库,使自动网络交互变得简单。
- MetaInspector - 用于网络爬虫目的的 Ruby 宝石。
- Spidr - 一个功能强大的 Ruby 网络爬虫库,可以爬取网站、多个域名、特定链接或无限循环。Spidr 设计为快速且易于使用。
- Upton - 一个包含所有功能的框架,用于轻松进行网页抓取。
- Wombat - 具有优雅 DSL 的网页爬虫,可从网页中解析结构化数据。
Web Frameworks
- Camping - 一个始终保持在 4KB 代码量以下的 Web 微框架。
- Cuba - 一个用于 Web 开发的微框架。
- Hobbit - 一个基于 Rack 构建的极简微框架。
- Hanami - 它旨在将面向对象编程带回 Web 开发,利用稳定的 API、极简的 DSL 和普通对象。
- Hyperstack - 一个使用 React 和 Opal 的完整同构 Ruby 框架。
- Padrino - 一个基于 Sinatra 的全栈 Ruby 框架。
- Pakyow - 一个用于用 Ruby 构建现代 Web 应用的框架。它帮助您更快地构建可工作的软件,其开发流程对设计师和开发者都保持友好。
- Rack::App - 用于构建 Rack 应用的极简框架。
- Roda - 一种基于路由树的 Web 框架。
- Ruby on Rails - 一种包含创建数据库支持 Web 应用所需所有内容的 Web 应用框架,遵循模型-视图-控制器(MVC)模式。
- Scorched - 轻量级、可继承和可组合的 Web 框架,灵感来自 Sinatra。
- Sinatra - 精致的网页开发,披着 DSL 外衣。
- Syro - 简单的 Web 应用路由器。
- Trailblazer - Trailblazer 是 Rails 之上的一个轻量级层。它温和地强制封装,提供直观的代码结构和面向对象的架构。
Web 服务器
- Agoo - 一个高性能的 Ruby HTTP 服务器,支持 GraphQL 和 WebSocket。
- Falcon - 一个高性能的 Ruby Web 服务器,支持 HTTP/1、HTTP/2 和 TLS。
- Iodine - 一个非阻塞的 HTTP 和 WebSocket Web 服务器,针对 Linux/BDS/macOS 和 Ruby MRI 进行优化。
- Phusion Passenger - 一个快速且稳健的 Web 服务器和应用服务器。
- Puma - 一个用于 Ruby 的现代、并发型 Web 服务器。
- Rack - 一个通用的 Ruby Web 服务器接口。它本身只是一个规范和工具库,但所有 Ruby Web 服务器都实现了这个接口。
- Thin - 一个小巧、快速且有趣的 HTTP 服务器。
- TorqueBox - 一个基于 JBoss AS7 和 JRuby 构建的 Ruby 应用服务器。
- Unicorn - 用于快速客户端和 Unix 的 Rack HTTP 服务器。
WebSocket
- AnyCable – 使用 Action Cable 协议的多语言 Ruby WebSocket 服务器替代方案。
- CableReady - CableReady 完善了 ActionCable 的故事,并扩展了 Rails 应用中 WebSocket 的实用性。
- Faye - 一套用于在网页客户端之间进行简单发布-订阅消息的工具。
- Firehose - 构建实时 Ruby 网页应用程序。
- Slanger - 兼容 Pusher 库的 Open Pusher 实现。
- StimulusReflex - 使用您已经熟悉和喜爱的 Rails 工具构建响应式应用程序。