Class: OpenStax::Utilities::ActionList

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ActionList

Returns a new instance of ActionList.

Raises:



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

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



35
36
37
# File 'lib/openstax/utilities/action_list.rb', line 35

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

#get_heading(column) ⇒ Object



27
28
29
# File 'lib/openstax/utilities/action_list.rb', line 27

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

#get_width(column) ⇒ Object



31
32
33
# File 'lib/openstax/utilities/action_list.rb', line 31

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

#has_headings?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/openstax/utilities/action_list.rb', line 23

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

#num_columnsObject



19
20
21
# File 'lib/openstax/utilities/action_list.rb', line 19

def num_columns
  @options[:data_procs].size
end