This class implements a group data structure for Ruport. Group is
simply a subclass of Table that adds a
:name
attribute.
The name of the group
A hash of subgroups
Compares this Group to another Group and returns true
if the
name
, data
, and column_names
are
equal.
Example:
one = Group.new :name => 'test', :data => [[1,2], [3,4]], :column_names => %w[a b] two = Group.new :name => 'test', :data => [[1,2], [3,4]], :column_names => %w[a b] one.eql?(two) #=> true
# File lib/ruport/data/grouping.rb, line 76 def eql?(other) name.eql?(other.name) && super end
Creates a new Group based on the supplied options.
Valid options:
:name
The name of the Group
:data
An Array of Arrays representing the records in this Group
:column_names
An Array containing the column names for this Group.
Example:
group = Group.new :name => 'My Group', :data => [[1,2,3], [3,4,5]], :column_names => %w[a b c]
# File lib/ruport/data/grouping.rb, line 41 def initialize(options={}) @name = options.delete(:name) @subgroups = {} super end