Awesome Rails Gem ¶
一系列令人敬畏的 Ruby Gems for Rails 開發.
目標是幫助每個 Rails 開發人員構建一個非常棒的 Rails 產品 / 服務.
User¶
Authentication¶
- Devise - Devise is a flexible authentication solution for Rails based on Warden.
- Knock - Rails API 的無縫 JWT 身份驗證.
- Clearance - 使用電子郵件和密碼進行 Rails 身份驗證
- Devise token auth - 針對 Rails JSON API 的基於令牌的身份驗證.
- Sorcery - Rails 的神奇身份驗證. 支持 ActiveRecord,DataMapper,Mongoid 和 MongoMapper.
Authorization¶
- Pundit - Pundit 提供了一組幫助程序,指導您利用常規 Ruby 類和麪向對象的設計模式來構建簡單,強大且可擴展的授權系統.
- cancancan - CanCan 的延續,Ruby on Rails.CanCan 的授權 Gem 是 Ruby on Rails 的授權庫,它限制了允許給定用戶訪問的資源. 所有權限都在一個位置(Ability 類)中定義,並且不會跨控制器,視圖和數據庫查詢重複.
- rolify - 具有資源範圍的角色管理庫.
- acl9 - Acl9 是一個基於角色的授權系統,它提供了一個簡潔的 DSL 來保護您的 Rails 應用程序.
Omniauth¶
- omniauth-facebook
- omniauth-google-oauth2
- omniauth-weibo-oauth2
- omniauth-twitter
- omniauth-github
- omniauth-linkedin-oauth2
Active Record¶
- Enumerize - 具有 I18n 和 ActiveRecord / Mongoid 支持的枚舉屬性. 它可以與 Simple Form 集成.
- counter_culture - 適用於 Rails 應用程序的 Turbo-counter 計數器緩存. 對 Rails 標準計數器緩存的巨大改進.
- custom_counter_cache - 創建可在多個模型中使用的自定義計數器緩存的簡單方法.
- Sequenced - Sequenced 是一個簡單的 gem,可爲 ActiveRecord 模型生成範圍的順序 ID.
- FriendlyId - FriendlyId 是 ActiveRecord 的段塞和永久插件的 “瑞士軍隊推土機”. 它允許您創建漂亮的 URL 並使用人性化的字符串,就像它們是 ActiveRecord 模型的數字 ID 一樣.
- AASM - Ruby 類的狀態機(純 Ruby,Rails Active Record,Mongoid).
- PaperTrail - PaperTrail 可讓您跟蹤模型數據的變化. 它適用於審計或版本控制.
- paranoia - ActiveRecord 插件允許您隱藏和恢復記錄而不實際刪除它們.
- Validates - Validates 爲 Rails 應用程序提供有用的自定義驗證器集合,包括:
- EmailValidator
- UrlValidator
- SlugValidator
- MoneyValidator
- IpValidator
- AssociationLengthValidator
- AbsolutePathValidator
- UriComponentValidator
- ColorValidator
- EanValidator(EAN-8 和 EAN-13)
- globalize - Rails I18n 事實上是 ActiveRecord 模型 / 數據轉換的標準庫.
- deep_cloneable - 這個 gem 爲每個 ActiveRecord :: Base 對象提供了進行包含用戶指定關聯的深度克隆的可能性.
- social_shares - 檢查社交網絡中共享網址的次數.
- public_activity - 模型的簡單活動跟蹤 - 類似於 Github 的公共活動.
- goldiloader - 自動 ActiveRecord 預先加載,以減少應用程序運行的數據庫查詢的數量. * 標記
- ActsAsTaggableOn - Rails 應用程序的標記插件,允許在動態上下文中自定義標記.
- closure_tree - 輕鬆高效地使您的 ActiveRecord 模型支持層次結構.
- ActionStore - 通過 ActiveRecord Polymorphic Association 在一個表中存儲不同類型的操作(Like,Follow,Star,Block ...).
Plugins¶
- Spreadsheet - 庫旨在讀寫電子表格文檔.
- Chartkick - Chartkick 幫助您使用一行 Ruby 創建漂亮的 Javascript 圖表.
- kaminari - 適用於 Rails 3 和 4 的基於範圍和引擎的,乾淨,強大,可定製和複雜的分頁器.
- Slack Notifier 是一個發送通知的簡單包裝器 Slack 網絡掛接.
- Rails ERD - 爲 Rails 應用程序生成實體關係圖.
- Parity - 用於 Heroku 應用程序的開發,登臺和生產奇偶校驗的 Shell 命令.
- Airbrussh - Airbrussh 爲你的 SSHKit 和 Capistrano 輸出做好準備
API¶
- Grape - 用於在 Ruby 中創建 REST-ful API 的微框架.
- ActiveModel::Serializers - Serializer 爲您的 JSON 生成帶來了約定優於配置.
- Jbuilder - Jbuilder 爲您提供了一個簡單的 DSL,用於聲明按摩巨型哈希結構的 JSON 結構. 當生成過程充滿條件和循環時,這尤其有用.
- rest-client - Ruby 的簡單 HTTP 和 REST 客戶端,受微框架語法的啓發,用於指定操作.
- has_scope - 將傳入的控制器參數映射到資源中的命名範圍. * 文件
- Grape Swagger - 自動生成 Grape API 的文檔.
- Grape Swagger UI - 顯示使用 Grape Swagger 生成的文檔.
- apiary - 共同努力,快速設計,製作原型,記錄和測試 API.
- apiblueprint - 具有強大工具的 API 文檔.
Email¶
- letter_opener - 在瀏覽器中預覽郵件而不是發送.
File Uploading¶
- Carrierwave - Carrierwave 是 Rails,Sinatra 和其他 Ruby Web 框架文件上傳的更加經典的解決方案.
- carrierwave_backgrounder - 使用 Delayed Job,Resque,Sidekiq,Qu,Queue Classic 或 Girl Friday 將 CarrierWave 的圖像處理和存儲卸載到後臺進程.
- CarrierWave Crop - Carrierwave 擴展,使用帶預覽的 Jcrop 插件裁剪上傳的圖像.
- CarrierWave ImageOptimizer - 此寶石允許您使用 image_optimizer gem 通過 jpegoptim 或 optipng 簡單優化 CarrierWave 圖像.
- remotipart - 通過標準 Rails“remote:true” 表單上傳 RQuery jQuery 文件.
- MiniMagick - MiniMagick 是 ImageMagick 或 GraphicsMagick 命令行的 ruby 包裝器.
- fog - 霧是 Ruby 雲服務庫,從上到下.
- refile - Refile 是 Ruby 應用程序的現代文件上傳庫. 它很簡單,但功能強大.
- Paperclip - ActiveRecord 的簡易文件附件管理.
- Dragonfly - Dragonfly 用於即時文件處理 - 適用於圖像或其他附件
- shrine - 用於 Ruby 應用程序的文件附件工具包
Searching¶
- ransack - Ransack 支持爲 Ruby on Rails 應用程序創建簡單和高級搜索表單.
- elasticsearch-rails - ActiveModel / Record 和 Ruby on Rails 的 Elasticsearch 集成.
- Chewy - 基於官方 elasticsearch-ruby 客戶端的高級 Elasticsearch Ruby 框架.
- pg_search - pg_search 構建了 ActiveRecord 命名範圍,利用 PostgreSQL 的全文搜索
- sunspot - Sunspot 是一個 Ruby 庫,用於與 Solr 搜索引擎進行富有表現力的強大交互. 太陽黑子建立在 RSolr 庫之上,爲 Solr 交互提供了一個低級接口; Sunspot 提供了一個簡單,直觀,富有表現力的 DSL,其功能強大,可用於索引對象並搜索對象.
- searchkick - 使用 Rails 和 Elasticsearch 輕鬆實現智能搜索.
Scheduled/Recurrence Jobs¶
- Whenever - 每當 Ruby gem 爲編寫和部署 cron 作業提供清晰的語法時.
- Resque - Redis 支持的 Ruby 庫,用於創建後臺作業,將它們放在多個隊列中,以後再處理.
- Rufus-Scheduler - Rufus-scheduler 是一個用於安排代碼片段(作業)的 Ruby gem. 它瞭解在某個時間,在某個時間,每個 x 時間或僅通過 CRON 語句運行作業.
- Delayed Job - 基於數據庫的異步優先級隊列系統
- Sidekiq - 簡單,高效的 Ruby 後臺處理.
- sidetiq - sidekiq 的重複工作.
- sidekiq-cron - Sidekiq 工作的 Scheduler / Cron
- sidekiq-scheduler - Sidekiq 的輕量級作業調度程序擴展
- Sucker Punch - Sucker punch 是一個單進程 Ruby 異步處理庫.
View Helper¶
- formtastic - Formtastic is a Rails FormBuilder DSL (with some other goodies) to make it far easier to create beautiful, semantically rich, syntactically awesome, readily stylable and wonderfully accessible HTML forms in your Rails applications
- Simple Form - 簡單的表單旨在儘可能靈活,同時幫助您使用強大的組件來創建表單. Simple Form 的基本目標是不觸及定義佈局的方式,讓您找到更好的設計.
- Nested Form - 這是一個 Rails gem,可以方便地在一個表單中管理多個嵌套模型. 它通過 jQuery 或 Prototype 以不引人注目的方式實現. 它也可以與 Simple Form 集成.
- meta-tags - Ruby on Rails 應用程序的搜索引擎優化(SEO)插件.
- active_link_to - active_link_to 將 css'active'類添加到您的鏈接.
- cells - 單元格允許您將 UI 的一部分封裝到視圖模型中. 查看模型或單元格是可以呈現模板的簡單 ruby 類.
- i18n Country Code Select - I18n 國家代碼選擇 Rails 3 和 4 的表單助手.
- Subdivision Select - 一個 Rails 插件,用於填充 country_select 中的州 / 省選擇框.
- cocoon - 使用 jQuery 的動態嵌套表單變得簡單
Environment Variables¶
- Config - 多環境 YAML 樣式配置,可以輕鬆,有效地輕鬆管理特定於環境的設置.
- Figaro - Figaro 非常簡單,使用 ENV 和單個 YAML 文件的 Heroku 友好的 Rails app 配置.
- dotenv - Dotenv 是一個 gem,允許您在. env 文件中設置環境變量,並將其加載到 ENV 中.
- opsworks-dotenv - Opsworks-dotenv 允許您使用 OpsWorks,Chef 和 Dotenv 爲您的 Rails 應用程序配置環境.
Admin Panel¶
- ActiveAdmin - ActiveAdmin 是 Ruby on Rails 應用程序的管理框架.
- active_skin:活動管理的平坦皮膚.
- RailsAdmin - RailsAdmin 是一個 Rails 引擎,提供易於使用的界面來管理您的數據.
- administrate - 一個 Rails 引擎,可以幫助您組建一個超靈活的管理儀表板.
- Trestle - Ruby on Rails 的現代響應式管理框架
Logging¶
- Impressionist - 印象派可以記錄頁面展示次數(技術上的動作展示次數),但不僅限於此. 您可以針對每個請求多次記錄展示次數. 您還可以將其附加到模型中. 此項目的目標是提供可在您的應用程序中立即訪問的可自定義統計信息,而不是使用 Google Analytics 並使用其 API 提取數據.
- Ahoy - Ahoy 爲跟蹤 Ruby,JavaScript 和本機應用程序中的訪問和事件提供了堅實的基礎.
- Lograge - 試圖馴服 Rails 的默認策略來記錄所有內容.
Debug¶
- byebug - Byebug 是一個易於使用,功能豐富的 Ruby 2 調試器. 它使用新的 TracePoint API 進行執行控制,並使用新的 Debug Inspector API 進行調用堆棧導航,因此它不依賴於內部核心源.
- pry-byebug - 通過 byebug 撬導航命令.
- pry-rails - 避免重複自己,使用 pry-rails 而不是將初始化程序複製到每個 rails 項目. 這是一個小寶石,導致 rails 控制檯打開撬. 因此,它取決於撬.
- awesome_print - Awesome Print 是一個 Ruby 庫,它可以完美地打印出全綵色的 Ruby 對象,並通過適當的縮進來暴露其內部結構.
- web-console - Web Console 是 Ruby on Rails 應用程序的調試工具.
- spring - Spring 是一個 Rails 應用程序預加載器. 它通過讓您的應用程序在後臺運行來加速開發,因此您不必在每次運行測試,rake 任務或遷移時都啓動它.
- rails-footnotes - Rails 腳註在您的應用程序中顯示腳註,以便於調試,例如會話,請求參數,cookie,過濾器鏈,路由,查詢等.
- g - 使用 terminal-notifier 或 growl,與 Kernel.p 類似的 Kernel.g.
- terminal-notifier - terminal-notifier 是一個發送 Mac OS X 用戶通知的命令行工具,可在 Mac OS X 10.8 及更高版本中使用.
- letter_opener - 在默認瀏覽器中預覽電子郵件而不是發送它. 這意味着您無需在開發環境中設置電子郵件傳遞,也不必擔心將測試電子郵件意外發送到其他人的地址.
- Better Errors - 更好的錯誤將標準的 Rails 錯誤頁面替換爲更好,更有用的錯誤頁面. * 如果您想使用 Better Errors 的高級功能(REPL,本地 / 實例變量檢查,漂亮的堆棧幀名稱),您需要添加 binding_ _of__caller.
- RailsPanel - RailsPanel 是 Rails 開發的 Chrome 擴展,它將結束您對 development.log 的拖尾.
Coding Style¶
- RuboCop - Rubocop 是一個 Ruby 靜態代碼分析器. 開箱即用它將強制執行社區中列出的許多準則 Ruby Style Guide.
- Rails Best Practice - Rails 最佳實踐是一種代碼度量工具,用於檢查 rails 代碼的質量.
- Metric Fu - 充滿代碼指標的拳頭
- Pronto - 對您的更改進行快速自動代碼審查
Testing¶
- rspec-rails - Rspec-rails 是 Rails 3.x 和 4.x 的測試框架.
- Capybara - Capybara 通過模擬真實用戶與您的應用互動的方式來幫助您測試 Web 應用程序. 和司機:
- capybara-webkit - Capybara-webkit 是一個通過 QtWebkit 使用 Webkit 的水豚驅動程序.
- selenium-webdriver - Selenium-webdriver 爲 WebDriver 提供 ruby 綁定.
- poltergeist - Poltergeist 允許您在 PhantomJS 提供的無頭 WebKit 瀏覽器上運行 Capybara 測試.
- page-object - Page-object 是一個簡單的 gem,可以幫助創建靈活的頁面對象來測試基於瀏覽器的應用程序.
- factory_bot - Factory_bot 是一個燈具替代品,具有簡單的定義語法,支持多個構建策略(保存的實例,未保存的實例,屬性哈希和存根對象),並支持同一個類的多個工廠(user,admin_user 等) ,包括工廠繼承.
- factory_bot_rails - Factory_bot_rails 爲 factory_bot 提供 Rails 集成.
- factory_factory_girl - FactoryFactoryGirl 允許您使用命名規則更有效地生成工廠文件.
- Database Cleaner - Database Cleaner 是一套用於在 Ruby.Support ActiveRecord,DataMapper,Sequel,MongoMapper,Mongoid,CouchPotato,Ohm 和 Redis 中清理數據庫的策略.
- shoulda-matchers - Shoulda-matchers 提供了幾個用於測試常見 Rails 功能的匹配器.
- ResponseCodeMatchers - ResponseCodeMatchers 提供 rspec 匹配器以匹配 http 響應代碼.
- SimpleCov - SimpleCov 是 Ruby 的代碼覆蓋率分析工具.
- Timecop - 提供 “時間旅行” 和“時間凍結”功能的寶石,使得測試與時間相關的代碼變得簡單.
- VCR - 記錄測試套件的 HTTP 交互並在將來的測試運行期間重放它們,以進行快速,確定,準確的測試.
Security¶
- brakeman - Brakeman 是一個靜態分析工具,可檢查 Ruby on Rails 應用程序的安全漏洞.
- bundle-audit - bundler-audit 是 Bundler 的補丁級驗證工具,用於檢查寶石和不安全寶石源的易受攻擊版本.
- Secure Headers - 安全標頭將自動應用與安全性相關的多個標頭.
Production¶
- Capistrano - 遠程多服務器自動化工具.
- Slowpoke - Rack :: Timeout 很棒. Slowpoke 讓它變得更好.
- Rack Attack - 將中間件托架到阻塞和限制.
- Responders - 一組 Rails 響應程序來干擾您的應用程序.
- production_rails - 在生產中運行 Rails 的最佳實踐.
- Mina - 快速部署和服務器自動化工具.
Error Logging¶
- Rollbar - 從 Ruby 到 Rollbar 的異常跟蹤和日誌記錄.
- Airbrake - 用於將應用程序與 Airbrake 集成的 Notifier gem
- Errbit - 符合 Airbrake 的開源通知器 gem.
Database¶
- rails_db - Rails 數據庫查看器和 SQL 查詢運行器
Asset Pipeline¶
- Alaska - 與 nodejs 持久連接的 ExecJS 運行時,在開發和部署期間加快了 coffeescript 編譯過程.