Sha256: b92d1c0dbfb11a3dbfa4cc34bbb5702d084e87371cb7c6f0d3eb744496dea06a

Contents?: true

Size: 600 Bytes

Versions: 1

Compression:

Stored size: 600 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

1 entries across 1 versions & 1 rubygems

Version Path
ruby_core_extensions-0.0.1 lib/ruby_core_extensions/enumerable.rb