class Uncomtrade::Helpers::Iterator
Attributes
array[R]
Public Class Methods
new(array)
click to toggle source
# File lib/uncomtrade/helpers/iterator.rb, line 6 def initialize(array) @array = array end
Public Instance Methods
cherry_pick(selectors)
click to toggle source
# File lib/uncomtrade/helpers/iterator.rb, line 10 def cherry_pick(selectors) if !selectors.empty? selectors = syms_to_strings(selectors) array.map do |data| hash = create_hash(data, selectors) end else array end end
to_csv(csv_path, selectors)
click to toggle source
# File lib/uncomtrade/helpers/iterator.rb, line 21 def to_csv(csv_path, selectors) CSV.open(csv_path, "wb") do |csv| picked_array = cherry_pick(selectors) csv << picked_array.first.keys picked_array.each do |hash| csv << hash.values end end end
Private Instance Methods
create_hash(data, selectors)
click to toggle source
# File lib/uncomtrade/helpers/iterator.rb, line 41 def create_hash(data, selectors) selectors.inject({}) do |memo, selector| memo.merge({selector.last => data[selector.first]}) end end
syms_to_strings(selectors)
click to toggle source
# File lib/uncomtrade/helpers/iterator.rb, line 35 def syms_to_strings(selectors) selectors.map do |key, value| [key.to_s, value] end.to_h end