LoginSignup
14
14

More than 5 years have passed since last update.

2015年にお世話になった gem たち

Posted at

クービック Advent Calendar 2015 の 17日目です。

今年を振り返ってお世話になった gem をまとめてみようと思います。

activerecord-mysql-awesome

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 でした ^^

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14