Class: ActiveAdmin::CSVBuilder

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

Overview

CSVBuilder stores CSV configuration

Usage example:

csv_builder = CSVBuilder.new
csv_builder.column :id
csv_builder.column("Name") { |resource| resource.full_name }

csv_builder = CSVBuilder.new :col_sep => ";"
csv_builder.column :id

Defined Under Namespace

Classes: Column

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}, &block) ⇒ CSVBuilder

Returns a new instance of CSVBuilder.



30
31
32
33
# File 'lib/active_admin/csv_builder.rb', line 30

def initialize(options={}, &block)
  @columns, @options = [], options
  instance_eval &block if block_given?
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



28
29
30
# File 'lib/active_admin/csv_builder.rb', line 28

def columns
  @columns
end

#optionsObject (readonly)

Returns the value of attribute options.



28
29
30
# File 'lib/active_admin/csv_builder.rb', line 28

def options
  @options
end

Class Method Details

.default_for_resource(resource) ⇒ Object

Return a default CSVBuilder for a resource The CSVBuilder’s columns would be Id followed by this resource’s content columns



19
20
21
22
23
24
25
26
# File 'lib/active_admin/csv_builder.rb', line 19

def self.default_for_resource(resource)
  new.tap do |csv_builder|
    csv_builder.column(:id)
    resource.content_columns.each do |content_column|
      csv_builder.column(content_column.name.to_sym)
    end
  end
end

Instance Method Details

#column(name, &block) ⇒ Object

Add a column



36
37
38
# File 'lib/active_admin/csv_builder.rb', line 36

def column(name, &block)
  @columns << Column.new(name, block)
end