Class: OpenStax::Accounts::ActionList

Inherits:
Object
  • Object
show all
Defined in:
lib/openstax/accounts/action_list.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ActionList

Returns a new instance of ActionList.

Raises:

  • (IllegalArgument)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/openstax/accounts/action_list.rb', line 5

def initialize(options={})
  @options = options

  raise IllegalArgument, "must supply data procs" if options[:data_procs].nil?

  if options[:headings].present? && options[:data_procs].size != options[:headings].size
    raise IllegalArgument, "if you supply headings, you must supply one for each column"
  end

  if options[:widths].present? && options[:data_procs].size != options[:widths].size
    raise IllegalArgument, "if you supply widths, you must supply one for each column"
  end

end

Instance Method Details

#get_data(column, *args) ⇒ Object



36
37
38
# File 'lib/openstax/accounts/action_list.rb', line 36

def get_data(column, *args)
  @options[:data_procs][column].call(*args)
end

#get_heading(column) ⇒ Object



28
29
30
# File 'lib/openstax/accounts/action_list.rb', line 28

def get_heading(column)
  @options[:headings].nil? ? nil : @options[:headings][column]
end

#get_width(column) ⇒ Object



32
33
34
# File 'lib/openstax/accounts/action_list.rb', line 32

def get_width(column)
  @options[:widths].nil? ? nil : @options[:widths][column]
end

#has_headings?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/openstax/accounts/action_list.rb', line 24

def has_headings?
  @options[:headings].present?
end

#num_columnsObject



20
21
22
# File 'lib/openstax/accounts/action_list.rb', line 20

def num_columns
  @options[:data_procs].size
end