2015年5月12日のブックマーク (3件)

  • Railsで利用するgem達を俺色に染めてやる! - Qiita

    RubyonRailsで開発していると様々なgemを組み合わせてプロダクトを作っていきます。 しかし、Railsのレールに乗って開発しているときはいいんですが、ちょっと変わったことや自分達の独自実装を加えたいときに利用しているgemをカスタマイズしたいことがたくさん出ていきます。 ただ、gemをfolkしてカスタマイズしたりすると将来のアップデート時に辛くなることが目に見えているので今回はそれをせずにgemをカスタマイズしていく方法を紹介します。 カスタマイズしたいClass, Module等をコピーする。 一番簡単な方法はgemの中にあるカスタマイズしたいClassやModuleをコピーして再定義してしまうことです。 今回はdoorkeeperというgemのDoorkeeper::Request::Passwordというクラスをカスタマイズしていきます。ちなみにバージョンは1.4を使って

    Railsで利用するgem達を俺色に染めてやる! - Qiita
    Pocke
    Pocke 2015/05/12
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    Pocke
    Pocke 2015/05/12
  • Ruby 2.1 の新機能 Refinements でクラス拡張をしてみよう

    こんにちは。ウェブ開発担当の清水です。 Ruby 2.0 で実験的に導入されていた Refinements が、バージョン 2.1 より正式に導入となりました。 今回はこの機能を利用してクラスの拡張をしてみたいと思います。 オープンクラス Refinements とはクラスの拡張の範囲を限定する機能です。使用の前に、まず Ruby のオープンクラスについて説明します。 オープンクラスとは、既存クラスを再定義(再オープン)することで、メソッドの追加・上書きなどが容易にできる機能です。 この機能により組み込みクラスであっても自由に拡張できるため、使い道次第で強力な効果を発揮します。 以下の例では、 Array クラスへ bogo_sort! メソッドを追加することで、全ての Array インスタンスから呼び出せるようにしています。 class Array def bogo_sort! shuf

    Ruby 2.1 の新機能 Refinements でクラス拡張をしてみよう