タグ

ブックマーク / techracho.bpsinc.jp (4)

  • Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社

    2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数

    Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社
    As_hsp
    As_hsp 2014/01/26
  • ActiveRecordのモデルに対してto_hashを出来るようにする。|TechRacho by BPS株式会社

    モデルの中身をJSONとして出力する前段階として、モデルの中身をハッシュとして扱いたかったのですが、標準でハッシュに変換する方法が見つかりませんでした。 そのため、to_hash関数を自分で追加することにしました。 モデルクラスに以下のコードを追加: def to_hash ActiveSupport::JSON.decode(self.to_json) end これで、 「モデルオブジェクト.to_hash」 でいつでもハッシュ化できます。 ただこれだと、関連しているテーブルを追いかけてくれるわけではないので、まだ少し不便だったりもします。 もっと良い方法もあるかもしれません。 追記 (12/03/02): こっちのほうが良さそうです。(情報提供ありがとうございます!) def to_hash Hash[*self.map{ |i| [i.id, i]}.flatten] end

    As_hsp
    As_hsp 2013/10/23
    モデルオブジェクトのハッシュ化
  • Devise 3.0.2 でRails4 対応についてREADME に少し騙された話|TechRacho by BPS株式会社

    Rails で認証系のGem で人気があるものといえばDevise かと思うのですが、Rails4 対応で少しはまったのでメモ。なお予め断っておきますと、これは2013年8月28日現在での問題であり今後すぐに問題なくなるかと思います。 Rails4 からStrongParameters が導入されましたが、Devise も同じくStrongParametersへの対応が図られています。例えばusers テーブルを作ったとして、そこにDevise が必須としている以外のカラムを追加したいと思った場合、今まではモデルにattr_accessibleを書いていたかと思いますが、今後StrongParametersでそのカラムを指定してやる必要があります。 このことについてはDevise のREADME の該当箇所にも書かれています。ここの解説によると「devise_parameter_sanit

    As_hsp
    As_hsp 2013/10/23
  • RailsでDBからFixtureを作成する|TechRacho by BPS株式会社

    fixtureを手で作るのはとても疲れるので、DBから自動生成したり、FactoryGirlをはじめとしたFixture alternativeを使うことが多いと思います。 DBからfixtureのYAMLを生成する方法は色々見つかりますが、今回は要件を満たすものが見つからなかったので、rakeタスクを作ってみました。 複数行テキストやコロン(:)が含まれるテキストを、正しく処理できないものが多いんですよね。 今回はこのような要件を満たすようにしました。 MySQLで動作する テーブルを指定できる 複数行のテキストフィールドを処理できる IDやモデルファイルが無いテーブル(HABTM用中間テーブルなど)に対応する 以下のようなファイルを、lib/tasks/extract_fixtures.rakeとして保存し、 rake db:fixtures:extract すると、tmp/fixtu

    RailsでDBからFixtureを作成する|TechRacho by BPS株式会社
    As_hsp
    As_hsp 2013/08/20
  • 1