2015年8月6日 星期四

常用 Rails Gem 整理

for Rails 4 (last update date: 2015/8/6)

# ----------------------------
# Use System
# ----------------------------

# DB - 資料庫
gem 'mysql2'
gem 'pg'
gem 'activerecord-postgis-adapter'
gem 'redis'
gem 'redis-objects', :require => "redis/objects"

# ENV - 環境變數
gem 'settingslogic'

# assets
gem 'sass-rails', '~> 4.0.3'
gem "compass-rails"
gem "compass-susy-plugin"
gem "susy"
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'therubyracer',  platforms: :ruby
gem 'jquery-rails'
gem 'turbolinks'
gem 'asset_sync'

# background jobs - 背景執行
gem 'sidekiq'
gem 'sinatra', '>= 1.3.0', :require => nil
gem 'sidekiq-limit_fetch'
gem 'whenever'

# aws
gem 'aws-sdk-v1'
gem 'aws-sdk'

# unicorn
gem 'unicorn'

# system mionitor
gem 'rollbar'
gem 'newrelic_rpm'


# ----------------------------
# Use ViewRendering
# ----------------------------

# html + form
gem 'jbuilder', '~> 2.0'
gem 'simple_form'
gem 'nested_form'
gem 'slim'
gem 'kaminari'
gem 'chosen-rails'

# file upload - 檔案上傳
gem 'carrierwave'
gem 'mini_magick'
gem 'fog'
gem 'carrierwave_backgrounder'

# front-end
gem 'jquery-ui-rails'
gem 'bootstrap-sass', '~> 2.3'

# editor - 圖文編輯器
gem 'redactor-rails'

# render view helper
gem 'rails_autolink'


# ----------------------------
# Use ActiveModel
# ----------------------------

# gem 'bcrypt', '~> 3.1.7'
# 資料排序
gem 'acts_as_list'

# soft delete
gem 'paranoia', "~> 2.0"

# Tagable - 標籤
gem 'acts-as-taggable-on'

# internal search - 內部搜尋
gem 'ransack'

# 狀態遷移控制
gem 'state_machine'


# ----------------------------
# Use Business logic
# ----------------------------

# devise - 會員登入
gem 'devise'
gem 'devise-async'

# shopping_cart 購物車
gem 'acts_as_shopping_cart', '~> 0.2.1'

# output data - 匯出excel
gem 'rubyzip', '~> 1.0.0'
gem 'axlsx_rails', '~> 0.3.0'

# SEO
gem 'crummy'
gem 'meta-tags', :require => 'meta_tags'
gem 'sitemap_generator'

# routes ues name
gem 'friendly_id', '~> 5.1.0'
# BARCODE img
gem 'barby'

# Email
gem 'mail'

# zip file
gem 'archive-zip'

# http transport
gem 'faraday'


# ----------------------------
# Use Development
# ----------------------------

group :development do
  # capistrano
  gem 'capistrano-rails'
  gem 'capistrano-rvm'
  gem 'capistrano-sidekiq'
  # unicorn
  gem 'capistrano3-unicorn'
  # slack
  gem 'slackistrano', require: false

  gem 'guard-annotate'
  gem 'annotate'
  gem 'awesome_print'
  gem 'xray-rails'
  gem 'pry'
  gem 'pry-rails'
  gem 'pry-remote'
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'guard'
  gem 'http_logger'
  gem 'spring'
  gem 'venus', git: "git@github.com:marsz/venus.git", branch: 'v1.0'
  gem 'rename'
end

group :development, :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'factory_girl_rails'
end

group :test do
  gem 'webmock'
  gem 'test_after_commit'
end

group :doc do
  gem 'sdoc', '~> 0.4.0'
end