class OpenStax::Utilities::ActionList

Public Class Methods

new(options={}) click to toggle source
# 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

Public Instance Methods

get_data(column, *args) click to toggle source
# File lib/openstax/utilities/action_list.rb, line 35
def get_data(column, *args)
  @options[:data_procs][column].call(*args)
end
get_heading(column) click to toggle source
# File lib/openstax/utilities/action_list.rb, line 27
def get_heading(column)
  @options[:headings].nil? ? nil : @options[:headings][column]
end
get_width(column) click to toggle source
# File lib/openstax/utilities/action_list.rb, line 31
def get_width(column)
  @options[:widths].nil? ? nil : @options[:widths][column]
end
has_headings?() click to toggle source
# File lib/openstax/utilities/action_list.rb, line 23
def has_headings?
  @options[:headings].present?
end
num_columns() click to toggle source
# File lib/openstax/utilities/action_list.rb, line 19
def num_columns
  @options[:data_procs].size
end