Module: PluckIt
- Defined in:
- lib/pluckit.rb,
lib/pluckit/pluck.rb
Constant Summary collapse
- VERSION =
'1.1.0'
Class Method Summary collapse
Class Method Details
.pluck(enumerable, *handles) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/pluckit/pluck.rb', line 5 def pluck enumerable, *handles items = enumerable.each_with_object( enumerable.clone.clear ) # TODO: if no clone / clear, use new if enumerable.is_a?(Hash) items.each do |(key, val), res| res[key] = pluckit(val, *handles) end elsif enumerable.is_a?(Set) items.each do |val, res| res.add pluckit(val, *handles) end else items.each do |val, res| res << pluckit(val, *handles) end end end |
.pluckit(v, *handles) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/pluckit/pluck.rb', line 27 def pluckit v, *handles if handles.count > 1 handles.map {|h| pluckit_single v, h } else pluckit_single v, handles.first end end |