Class: Comma::Generator

Inherits:
Object show all
Defined in:
lib/comma/generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(instance, style) ⇒ Generator

Returns a new instance of Generator.



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/comma/generator.rb', line 5

def initialize(instance, style)
  @instance = instance
  @style    = style
  @options  = {}

  return unless @style.is_a?(Hash)

  @options                  = @style.clone
  @style                    = @options.delete(:style) || Comma::DEFAULT_OPTIONS[:style]
  @filename                 = @options.delete(:filename)
end

Instance Method Details

#run(iterator_method) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/comma/generator.rb', line 17

def run(iterator_method)
  if @filename
    CSV_HANDLER.open(@filename, 'w', **@options) { |csv| append_csv(csv, iterator_method) } && (return true)
  else
    CSV_HANDLER.generate(**@options) { |csv| append_csv(csv, iterator_method) }
  end
end