Sha256: 76adbd2fb8582a77ab16975c38bd278813bf709433412b37e19b6798bc2227e3

Contents?: true

Size: 597 Bytes

Versions: 4

Compression:

Stored size: 597 Bytes

Contents

module Enumerable
  def map_methods(*methods)
    map do |object|
      methods.inject({}) do |h, method|
        h[method] = object.send(method)
        h
      end
    end
  end


  def detect_and_return
    detect do |e|
      result = yield(e)
      return result if result
    end
  end


  def select_by_attr(attr, value)
    select do |e|
      e.send(attr) == value
    end
  end


  if RUBY_VERSION < '1.9'
    def with_object(obj, &block)
      return to_enum :with_object, obj unless block_given?
      each do |element|
        yield element, obj
      end
      obj
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby_core_extensions-0.4.0 lib/ruby_core_extensions/enumerable.rb
ruby_core_extensions-0.3.0 lib/ruby_core_extensions/enumerable.rb
ruby_core_extensions-0.2.0 lib/ruby_core_extensions/enumerable.rb
ruby_core_extensions-0.1.0 lib/ruby_core_extensions/enumerable.rb