class ActiveSet::Exporting::CSVStrategy
Public Class Methods
new(set, column_instructions)
click to toggle source
# File lib/active_set/exporting/csv_strategy.rb, line 10 def initialize(set, column_instructions) @set = set @column_instructions = column_instructions end
Public Instance Methods
execute()
click to toggle source
# File lib/active_set/exporting/csv_strategy.rb, line 15 def execute ::CSV.generate do |output| output << column_keys_for(item: @set.first) @set.each do |item| output << column_values_for(item: item) end end end
Private Instance Methods
column_keys_for(item:)
click to toggle source
# File lib/active_set/exporting/csv_strategy.rb, line 26 def column_keys_for(item:) columns.map do |column| ColumnInstruction.new(column, item).key end end
column_values_for(item:)
click to toggle source
# File lib/active_set/exporting/csv_strategy.rb, line 32 def column_values_for(item:) columns.map do |column| ColumnInstruction.new(column, item).value end end
columns()
click to toggle source
# File lib/active_set/exporting/csv_strategy.rb, line 38 def columns @column_instructions.compact end