クービック Advent Calendar 2015 の 17日目です。
今年を振り返ってお世話になった gem をまとめてみようと思います。
activerecord-mysql-awesome
マイグレーションする際に、必ずお世話になる gem です。
class AddMembershipNumberToCustomers < ActiveRecord::Migration
def change
add_column :customers, :membership_number, :string, charset: 'ascii', collation: 'ascii_bin', after: :xxxxx
end
end
詳しくは作者の kamipo さんのエントリーをご覧ください。
http://qiita.com/kamipo/items/4763bcffce2140f030b3
attr_encrypted
attr_encrypted は attributes の encrypt と decrypt を透過的に行ってくれる gem です。
attr_encrypted の Usage の一部抜粋ですが、暗号化したい attribute を指定するだけで ok です。
class User
attr_encrypted :ssn, :key => 'a secret key'
end
@user = User.new
@user.ssn = '123-45-6789'
@user.encrypted_ssn # returns the encrypted version of :ssn
@user.save
@user = User.last
@user.ssn # decrypts :encrypted_ssn and returns '123-45-6789'
ssn はたぶん、Social Security Number の略と思われます。
activerecord-import
activerecord-import は Bulk Insert を行うための gem です。
Wiki から Usage を一部抜粋しますが、
columns = [ :title, :author ]
values = [ ['Book1', 'FooManChu'], ['Book2', 'Bob Jones'] ]
Book.import columns, values, :validate => false
こんな感じで Bulk Insert が可能です。
draper
draper は有名なので、説明不要な気もしますが、もはや日々の開発に必要不可欠な gem です。
るびま0041号のRuby on Rails: The Bad Parts
ロジックが散在したビューはとかく読み難く、メンテンスし難いものです。ではそのロジックをヘルパーに追い出しましょう……となるわけですが、ナイーブにやっているとヘルパーメソッドがどんどん増えていきます。その数 3 桁ともなると、似ているようで微妙に違うメソッドや、多分どこからも使われていないけれど怖くて消せないメソッドなどが現れてきて、新しくメソッドを足すにも「どこに書けばいいかよくわからないから一番下でいいや」という感じになってきます。ヘルパークラスを分割してみたり、メソッド名にプレフィックスを付けてみたりするも焼け石に水で、管理不能な状態に陥ります。
という、ヘルパー地獄から脱することができます。
まとめ
activerecord-mysql-awesome, attr_encrypted, activerecord-import, draper と全てが ActiveRecord 関連な gem でした ^^