Module: PluckToHash::ClassMethods

Defined in:
lib/pluck_to_hash.rb

Instance Method Summary collapse

Instance Method Details

#pluck_to_hash(*keys) ⇒ Object Also known as: pluck_h



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/pluck_to_hash.rb', line 7

def pluck_to_hash(*keys)
  formatted_keys = keys.map do |k|
    case k
    when String
      k.split(' as ')[-1].to_sym
    when Symbol
      k
    end
  end

  pluck(*keys).map do |row|
    row = [row] if keys.size == 1
    Hash[formatted_keys.zip(row)]
  end
end