タグ

ブックマーク / qiita.com/quanon86 (3)

  • Array#delete_if の削除した要素を返すバージョンがほしい - Qiita

    module ArrayExtention def reject_if(&block) rejected = [] delete_if do |value| rejected << value if block.call(value) end rejected end end array = *(1..5) #=> [1, 2, 3, 4, 5] array.delete_if(&:odd?) #=> [2, 4] array #=> [2, 4] array = *(1..5) #=> [1, 2, 3, 4, 5] array.extend(ArrayExtention) array.reject_if(&:odd?) #=> [1, 3, 5] array #=> [2, 4] Array#delete_if と Array#delete の返り値の違いは Ruby を始めた頃によく

    Array#delete_if の削除した要素を返すバージョンがほしい - Qiita
    suginoy
    suginoy 2015/06/19
    "Array#delete_if と Array#delete の返り値の違いは Ruby を始めた頃によく引っかかる事柄のひとつだと思うのですが、 なぜこのような違いがあるのでしょうね?"
  • Ajax でも Rails の flash メッセージを表示したい! - Qiita

    概要 通常 Rails の flash メッセージは、アクションごとに HTML をレンダリングする場合にしか使用できません。 Rails 側の各アクションで flash メッセージの設定を行う必要があるからです。 つまり、Ajax 通信が終了 (complete) した際に flash メッセージを表示する手段は、デフォルトでは用意されていません。 一応、サーバ側で flash メッセージを表示するための JavaScript を用意して、それをレスポンスとして返すなどの方法はあります。 それでも Ajax 通信 (JSON リクエスト) でも flash メッセージを表示したいよぉ! というわけでその方法を調べてみました。 方法 Rails 側ではレスポンスヘッダ ('X-' で始まるカスタムヘッダ) に flash メッセージを格納してレスポンスを返します。 そして、JavaScri

    Ajax でも Rails の flash メッセージを表示したい! - Qiita
  • インスタンスから名前空間を取得する - Qiita

    やりたいこと インスタンスのクラス名の名前空間の部分だけ抽出したい。 (例えば A::B::C::D の A::B::C の部分) 方法 String#deconstantize と String#constantize を使って実現できます。 (Special thanks to @jkr_2255) module Puella module Magi class HolyQuintet def initialize(name) @name = name end end end end instance = Puella::Magi::HolyQuintet.new("美樹さやか") #=> #<Puella::Magi::HolyQuintet @name="美樹さやか"> class_name = instance.class.name #=> "Puella::Magi::Holy

    インスタンスから名前空間を取得する - Qiita
    suginoy
    suginoy 2014/12/18
    String#demodulize
  • 1