Class: FindSubscriptions::Output::CsvReporter
- Inherits:
-
Object
- Object
- FindSubscriptions::Output::CsvReporter
- Defined in:
- lib/output/csv_reporter.rb
Overview
Outputs subscriptions as CSV with a header row.
Constant Summary collapse
- HEADERS =
%w[name amount since until count].freeze
Instance Method Summary collapse
-
#initialize(io: $stdout) ⇒ CsvReporter
constructor
A new instance of CsvReporter.
- #print(subscriptions) ⇒ Object
Constructor Details
#initialize(io: $stdout) ⇒ CsvReporter
Returns a new instance of CsvReporter.
11 12 13 |
# File 'lib/output/csv_reporter.rb', line 11 def initialize(io: $stdout) @io = io end |
Instance Method Details
#print(subscriptions) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/output/csv_reporter.rb', line 15 def print(subscriptions) output = CSV.generate do |csv| csv << HEADERS subscriptions.each do |sub| csv << [sub[:name], sub[:amount], sub[:since].iso8601, sub[:until].iso8601, sub[:count]] end end @io.print output end |