Awesome Rails Gem 中文版

Awesome Rails Gem zh-CN
Awesome

Awesome Rails Gem 中文版

熟悉大牛们写的 gem,不用重复造轮子,将更多的精力放到更有意义的事情上。

欢迎 Star & Fork ~~ https://github.com/debbbbie/awesome-rails-gem-zh_CN

用户

认证

  • Devise - 用于快速构建用户功能,如:注册,登陆,个人设置,找回密码...
  • Knock - 符合 JWT (JSON Web Token) 规范的认证 API
  • Clearance - 基于邮箱密码认证
  • Devise token auth - 基于 Token 认证的 JSON API

授权

  • Pundit - Pundit 提供一系列方法来扩展 Ruby 的基本类和面相对象的设计模式,用以构建简单、强壮、可伸缩的认证系统
  • cancancan - 扩展 CanCan,可以规定某个用户拥有哪些资源,所有权限都定义在一个单独的地方( Ability 类)
  • rolify - 角色管理
  • acl9 - 基于角色的认证系统,并且提供简洁的 DSL

Omniauth

  • omniauth-facebook
  • omniauth-google-oauth2
  • omniauth-weibo-oauth2
  • omniauth-twitter
  • omniauth-github
  • omniauth-linkedin-oauth2

模型

  • Enumerize - 适用枚举类型的属性,支持 i18n 、activerecord、mongoid,并可以集成到 Simple Form
  • counter_culture - 计数缓存
  • custom_counter_cache - 简单的自定义技术缓存,可以在 model间共用
  • Sequenced - 管理 排序性 id 的 gem
  • FriendlyId - URL 友好的 ID
  • AASM - 状态机
  • PaperTrail - 记录版本、审计用的,记录数据的变化
  • paranoia - 假删除
  • Validates - 提供一系列有用的自定义验证,包括Email, Url, Slug, Money, Ip, AssociationLength, AbsolutePath, UriComponent, Color, Ean
  • globalize - 数据翻译中的 i18n 库
  • deep_cloneable - 深度拷贝、支持关系拷贝、可选拷贝
  • social_shares - 检查 url 在社交网络中的共享次数
  • public_activity - 活动追踪,类似 github的 Public Activity
  • goldiloader - activerecode 预加载,用来减少数据库查询次数
  • Tagging
    • ActsAsTaggableOn - 打标记
    • closure_tree - 多层级标记

插件

  • Spreadsheet - 读写 Spreadsheet 文档
  • Chartkick - 用一行 ruby 代码创建漂亮的 js 图表
  • kaminari - 很火的分页插件
  • CKEditor - 所见即所得编辑器
  • HTML::Pipeline - html 处理器
  • Slack Notifier 给 slack 发通知
  • Rails ERD - 生成实体关系图
  • Parity - 为 heroku 提供 shell 命令
  • Airbrussh - 美化 SSHKit 和 Capistrano 的输出内容

API

  • Grape - 提供 REST-ful APIs
  • ActiveModel::Serializers - 通过配置方便生成 JSON
  • Jbuilder - 提供 DSL 来定义 JSON 结构
  • rest-client - HTTP 和 REST 客户端
  • has_scope - 在 controller 中使用named scopes
  • Documentation
    • Grape Swagger - 为 Grape API 自动生成文档
    • Grape Swagger UI - Grape Swagger 的界面
    • apiary - [收费]团队协作工具,一起设计、原型、文档和测试 API
    • apiblueprint - API 文档

邮件

  • letter_opener - 在浏览器中预览邮件,而不用真实的发送

文件上传

  • Carrierwave - 为 Rails, Sinatra 等框架负责文件上传,很流行
    • carrierwave_backgrounder - 分流图片处理、并且在后台存储,用 Delayed Job, Resque, Sidekiq 等
    • CarrierWave Crop - 裁剪上传的图片
    • CarrierWave ImageOptimizer - 优化上传的图片
  • remotipart - Rails jQuery 上传控件
  • MiniMagick - ImageMagick/GraphicsMagick 的 ruby 包装
  • fog - 云服务管理
  • refile - 流行的上传库
  • Paperclip - ActiveRecord 附件管理
  • Dragonfly - on-the-fly 上传工具

搜索

  • ransack - 可以创建简单或复杂的搜索表单
  • elasticsearch-rails - 集成 Elasticsearch
  • Chewy - 高度集成 Elasticsearch
  • Chewy_Kiqqer - [不再维护]
  • pg_search - 充分利用 postgres 的优势
  • sunspot - 与 Solr 集成
  • searchkick - 集成 Elasticsearch

定时任务

  • Whenever - 定时任务
  • Resque - 基于 Redis 的后台延时处理任务
  • Rufus-Scheduler - 又一个定时任务
  • Delayed Job - 基于数据库的后台延时处理任务
  • Sidekiq - 后台延时处理任务
    • sidetiq - Sidekiq 的循环任务
    • sidekiq-cron - Sidekiq 的又一个循环任务
    • sidekiq-scheduler - Sidekiq 的又一个循环任务
  • Sucker Punch - 后台延时处理任务,不需要额外进程

视图

  • formtastic - 创建表单的 DSL
  • Simple Form - 更加灵活的表单 DSL
  • Nested Form - 级联的表单 DSL,兼容 Simple Form
  • meta-tags - SEO 相关的库
  • active_link_to - 根据当前 url 自动加 active 样式
  • cells - 把公用的 UI 写到 view models
  • i18n Country Code Select - 国家代码列表
  • Subdivision Select - 二级下拉列表,包括国家、省
  • cocoon - 级联的表单 DSL

环境变量

  • Config - 多环境的 YAML 配置文件
  • Figaro - 针对 heroku 的配置办法
  • dotenv - 将环境变量写到 .env 文件中
  • opsworks-dotenv - 用 OpsWorks, Chef 和 Dotenv 配置环境变量

后台管理

  • ActiveAdmin - 后台管理框架
    • active_skin: 为 ActiveAdmin 制作的皮肤
  • RailsAdmin - 后台管理
  • Typus - 管理界面,让受信任用户管理数据
  • administrate - 灵活的后台管理

日志

  • Impressionist - 记录页面访问情况,还可以为一个访问记录几次
  • Ahoy - 记录访问情况,和事件
  • Lograge - 改变 rails 默认的日志,使变得更好

调试

  • byebug - 简单易用,不依赖其他代码
    • pry-byebug - 集成 Pry 与 byebug
  • pry-rails - 使用 pry 打开 rails console
  • awesome_print - 将 ruby 对象打印的更加漂亮
  • web-console - 把 console 加到 rails 中
  • spring - rails 预加载
  • rails-footnotes - 将调试信息显示到脚注
  • g - [不更新]
  • terminal-notifier - 发送 Mac OS X 通知
  • letter_opener - 在浏览器中预览邮件,而不用真实的发送
  • Better Errors - 替代原生的错误页面,更加漂亮有用
  • RailsPanel - Chrome 扩展,在浏览器上更好的显示 rails 日志

代码风格

  • RuboCop - 代码分析,遵循很多代码规范
  • Rails Best Practice - 检查代码质量
  • Metric Fu - 检查代码质量
  • Pronto - 自动检查变化的代码,与 github 集成

测试

  • rspec-rails - 测试框架
  • Capybara -模拟真实用户交互 测试 Web 应用,有这些驱动:
    • capybara-webkit - 使用 QtWebkit 的 webkit
    • selenium-webdriver - webdriver 支持
    • poltergeist - headless WebKit browser,使用 PhantomJS
    • page-object - 创建灵活的页面对象来做 web 测试
  • factory_girl - 专门用来构造模拟测试数据的,完美替代Fixture的工具
  • factory_girl_rails - factory_girl 集成到 Rails
  • factory_factory_girl - 根据命名规则,生成 factory 文件
  • Database Cleaner - 一系列清理数据库的策略
  • shoulda-matchers - 提供很多 matchers 来测试 Rails 的函数
  • ResponseCodeMatchers - rspec matchers 匹配 http 返回值
  • SimpleCov - 代码测试覆盖分析工具
  • Timecop - 用来测试时间相关,可以冻结时间、时间旅行
  • VCR - 记录 http 的返回内容,并在以后的测试中快速准确的重现

安全

  • brakeman - 静态分析工具,检查程序的安全缺陷
  • bundle-audit - 检查 Bundle 的补丁等级,包括易受攻击版本和不安全的 gem 源等
  • Secure Headers - 自动设置安全相关的 headers

生产

  • Capistrano - 远程服务器部署工具
  • Slowpoke - Rack::Timeout 的升级版
  • Rack Attack - 防止恶意攻击、限制访问频率
  • Responders - 一系列 responders
  • production_rails - Rails Best practices,一系列 Gem
  • Mina - 快速部署、服务器自动化工具

错误日志

  • Rollbar - 记录错误日志并汇总到 Rollbar
  • Airbrake - 与 Airbrake 集成
  • Errbit - 兼容 Airbrake,开源

资源管道

  • Alaska - ExecJS 运行时保持与 nodejs 连接,加速 coffeescript 的编译和部署

你可能感兴趣的:(Awesome Rails Gem 中文版)