Class: Kama

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/kama.rb,
lib/kama/version.rb

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, data) ⇒ Kama

Returns a new instance of Kama.



18
19
20
21
# File 'lib/kama.rb', line 18

def initialize(klass, data)
  @klass = klass
  @data = data
end

Class Method Details

.dump(data, *args) ⇒ String

Returns A csv-string containing all the data given (defaulting to #all).

Parameters:

  • data

    Either a AR class, or collection of AR objects.

Returns:

  • (String)

    A csv-string containing all the data given (defaulting to #all)



10
11
12
13
14
15
16
# File 'lib/kama.rb', line 10

def self.dump(data, *args)
  if data.is_a?(Class)
    new(data, data.all)
  else
    new(data.class, data)
  end.to_csv(*args)
end

Instance Method Details

#to_csv(io = "") ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/kama.rb', line 24

def to_csv(io = "")
  io << CSV.generate do |output|
    output << column_names

    @data.each do |obj|
      output << column_names.map { |c| obj.send(c) }
    end
  end
end