2015-01-11から1日間の記事一覧
中間テーブルは基本、多対多のモデルの関連をつくるために用いているので、 中間テーブル自体は意味のあるデータを持つことは少ない。 XyzToAbcというモデル名を見ると、「中間テーブル」だと推測できます。
準備1 Drive API アクセスを有効にする ドライブ SDK を有効にする クライアントID、クライアントシークレット、リダイレクトURIを控える ドライブ アプリを登録する - Google デベロッパー アカデミー — Google Developers Gyazo - c274baa73bafb81335bccf…
Ruby - メソッドの実行をフックする方法 - Qiita Ruby - メソッドの実行をフックする方法 - Qiita Gemfile gem 'method_hooker' class Hoge def self.hoge1 .. end def pre_hoge p 'pre hoge has executed' end pre_execute_method :pre_hoge Hoge.hoge1 #=>…
ありかもしれない。
関数を定義する際、渡された引数はなるべく変更しないようにする。 イミュータブルな関数を作りなさい。ということですね! 副作用はよろしくないです、はい。
classだと下記のようにprivate methodを定義できると思います。 class Hoge def public_method1 .... end private def private_method1 ... end しかし、moduleでは方法が少し違います。 module Hoge def public_method1 .... end def private_method1 ... e…
rubyでhashを構造体にしてアクセサっぽくアクセスできるようにする RubyでHashを構造体にしてアクセサのように取得する 僕はこんな関数にしてみた。 def conversion_of_hash_to_struct(hash) Struct.new(*hash.keys).new(*hash.values.map { |s| Hash === s …
moduleはインスタンス(状態)をモテない。 newできない。 メソッドだけを格納できる。 サービスは状態をもたないでイミュータブルにすべきなので、moduleを使う方がよい。
似た様な用語がたくさんあったり、時と場合により用語が変わってる場合(ほとんどの場合が気分で変わっている)、用語集を提案するとよい。
10.times.map.each_with_index {|i| Time.parse("18:00")+30.minutes*i}
レビューの指摘事項として「モデルではなくサービスに移動しなさい」というものがありました。 サービスっていうのが良くわからなかったので先生に聞いてみました。 Railsでサービスとフォームを導入してみる話 - assertInstanceOf('Engineer', $a_suenami) …