Class: MakeData::ResultsFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/make_data.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(results, format) ⇒ ResultsFormatter

Returns a new instance of ResultsFormatter.



60
61
62
63
# File 'lib/make_data.rb', line 60

def initialize(results, format)
  @results = results
  @format = format
end

Class Method Details

.valid_formatsObject



69
70
71
# File 'lib/make_data.rb', line 69

def self.valid_formats
  %w(json csv yaml)
end

Instance Method Details

#csvObject



77
78
79
80
81
82
# File 'lib/make_data.rb', line 77

def csv
  CSV.generate do |csv|
    csv << @results[0].keys # column headers
    @results.map(&:values).each { |row| csv << row }
  end
end

#format_resultsObject



65
66
67
# File 'lib/make_data.rb', line 65

def format_results
  send(@format.to_sym)
end

#jsonObject



73
74
75
# File 'lib/make_data.rb', line 73

def json
  JSON.generate(@results)
end

#yamlObject



84
85
86
# File 'lib/make_data.rb', line 84

def yaml
  @results.to_yaml
end