Gem 被打败了,原来这么多事可以封装进 Gem 里

hilbert · 2012年12月19日 · 最后由 iBachue 回复于 2012年12月19日 · 4427 次阅读

最近很好奇地看了一下“者也”所使用的 gems,发现投票、Server Push、中文分词、代码高亮、邀请、etc 都有相应的 gem,用 Rails 开发是多么的幸福啊,会用这些 gems 就要不少时间来研究了

source 'http://rubygems.org'
gem 'rails', '3.0.5'

# MongoDB
gem "mongoid", "2.0.0"
gem "bson", "1.2.4"
gem "bson_ext", "1.2.4"
gem 'mongo-rails-instrumentation', "0.2.0"
gem "mongoid-eager-loading","0.3.1"
gem "mongoid_rails_migrations", "0.0.10"
gem "cells","3.6.5"
gem "dalli","1.1.2"

gem "redis", "2.1.1"

# Vote 插件 for Mongoid
gem 'voteable_mongoid', "0.6.0"

# 分词
gem 'chinese_pinyin', '0.3.0'
gem 'rmmseg-cpp-huacnlee', '0.2.9'

# 用户系统
gem 'devise', '1.2.rc2'
# 邀请系统
gem 'devise_invitable', '0.4.rc5'

# 图片上传
gem 'carrierwave', "0.5.3"
gem 'mini_magick', "3.2"

# 分页
gem 'will_paginate', '3.0.pre'  
gem 'memcache-client', '1.8.5'

# OAuth
gem 'omniauth', '0.2.0'
gem "oa-openid", '0.2.0'
gem "omniauth_china", "0.0.6"

# 后台列表
# gem 'wice_grid', '3.0.0.pre1'

# 设置
gem 'settingslogic', '2.0.6'

# 前端优化
gem 'smurf-huacnlee', :require => "smurf"

# 表单
gem 'simple_form', "1.3.1"

# 缓存管理
gem 'tagged-cache', '1.1.1'

# PUT 颜色
gem 'colorize', '0.5.8'

# 后台表格
gem 'mongoid_wice_grid', '4.0.0', :require => "wice_grid"

# Crontab 辅助
gem 'whenever', '0.6.2'
# AWS SES
gem "aws-ses", "0.4.2", :require => 'aws/ses'

# Background Jobs
gem "resque", '1.15.0', :require => "resque/server"
gem "resque_mailer", '1.0.1'

# Comet
gem "juggernaut"

# Diff 内容并输出 HTML 格式
gem "htmldiff", :git => "git://github.com/huacnlee/htmldiff.git"

gem "redis-search", "0.6.1"

group :development do
    gem 'rails-dev-boost-beta','0.1.2', :require => 'rails_development_boost'
end

一边做项目一边就可以封装 Gem 了,封装 Gem 是封装非核心逻辑的最佳方法。如果不想开源,内网可以搞一个 geminbox,就可以架起私有 Gem 库了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号