Method: ItchRewards::CLI::Helper#objects_to_table
- Defined in:
- lib/itch_rewards/cli.rb
#objects_to_table(objects) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/itch_rewards/cli.rb', line 57 def objects_to_table(objects) objects = Array(objects) return nil if objects.none? if objects.first.is_a? Hash headers = objects.first.keys.sort data = objects.map {|v| v.values_at(*headers) } headers = headers.map(&:upcase) else fields = objects.first.instance_variables.sort data = objects.map do |object| fields.map {|k| object.instance_variable_get(k) } end headers = fields.map {|f| f.to_s[1..].upcase } end TTY::Table.new(headers, data) end |