タグ

ブックマーク / qiita.com/joker1007 (2)

  • FactoryGirlのtransientとtraitを活用する - Qiita

    FactoryGirlでテストデータを定義する時に、transientとtraitを活用すると色々捗るという話。 transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能。 そこで定義されたものは実際のmodelにはセットされないしattributes_forでも出力されません。 何のために使うかというと作成時に挙動を変更するためのフラグや追加データとして利用するのが一般的です。 traitは属性の定義を一纏めにして名前を付けられる機能です。 parentを指定したfactoryの継承とは違い、traitは単体ではfactoryとして機能しません。 あるfactoryの特定の状態に名前を付けて、付け外しできるようにする、というのが主な使い方になります。 例えば、あるfactoryをある時はadminある時は非adminで作りたい時等に有効です。 個人的に

    FactoryGirlのtransientとtraitを活用する - Qiita
    xoyip
    xoyip 2016/11/08
    テスト書き直したい気持ちが高まってる
  • pry-docでカジュアルにRubyのソースコードを読む - Qiita

    RubyのREPL環境として一般的なpryというgemがあります。 pryの非常に便利な機能としてshow-sourceというコマンドがあり、指定したクラスやメソッドのソースコードをpry上で表示してくれます。 [15] pry(main)> require 'tsort' true [16] pry(main)> show-source TSort#tsort From: /Users/joker/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/tsort.rb @ line 133: Owner: TSort Visibility: public Number of lines: 5 def tsort result = [] tsort_each {|element| result << element} result end デフォルトのままのp

    pry-docでカジュアルにRubyのソースコードを読む - Qiita
    xoyip
    xoyip 2014/03/26
    show-source!
  • 1