module Enumerable

Public Instance Methods

hashify(*args) click to toggle source
# File lib/mapify.rb, line 12
def hashify(*args)
  fail_fast?(args)

  map do |object|
    args.reduce({}) do |hash, arg|
      hash[arg] = object.public_send(arg)
      hash
    end
  end
end
mapify(*args) click to toggle source
# File lib/mapify.rb, line 2
def mapify(*args)
  fail_fast?(args)

  map do |object|
    args.map do |arg|
      object.public_send(arg)
    end
  end
end

Private Instance Methods

all_symbol_args?(args) click to toggle source
# File lib/mapify.rb, line 24
def all_symbol_args?(args)
  args.find{|x| x.class != Symbol}.nil?
end
fail_fast?(args) click to toggle source
# File lib/mapify.rb, line 28
def fail_fast?(args)
  raise ArgumentError, 'All arguments must be symbols' unless all_symbol_args?(args) && !args.empty?
end