Module: Helper

Included in:
JsonOrRubyToCsv
Defined in:
lib/json_or_ruby_to_csv/helper.rb

Instance Method Summary collapse

Instance Method Details

#convert_array_to_csv(data) ⇒ Object



2
3
4
5
6
7
8
9
10
# File 'lib/json_or_ruby_to_csv/helper.rb', line 2

def convert_array_to_csv(data)
  csv_keys = data[0].keys.join(',')

  csv_file = data.map do |ele|
    ele.values.join(',')
  end.join("\n")

  "#{csv_keys}\n#{csv_file}"
end

#convert_hash_to_csv(data) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/json_or_ruby_to_csv/helper.rb', line 12

def convert_hash_to_csv(data)
  csv_keys = data.keys.join(',')

  csv_values = data.values.join(',')

  "#{csv_keys}\n#{csv_values}"
end

#object_to_hash(data) ⇒ Object



28
29
30
31
32
# File 'lib/json_or_ruby_to_csv/helper.rb', line 28

def object_to_hash(data)
  convert_hash_to_csv(data.attributes)
rescue StandardError
  'Invalid format!'
end

#relation_to_array(data) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/json_or_ruby_to_csv/helper.rb', line 20

def relation_to_array(data)
  array_value = data.map(&:attributes)

  convert_array_to_csv(array_value)
rescue StandardError
  'Invalid format!'
end