Sha256: 289e7c601264dc6c42942e4403bc37c8ca7dd4e4de2a73b016fbc46e28b82787

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

module QBFC
  module Reports
    class Rows < Array
      class << self
        def get_row(cols)
          ret = []
          if cols
            cols.each do |col|
              ret << col.value.getValue
            end
          end
          ret
        end
  
        def parse(report_data)
          data = []
          subtotals = []
          totals = []
          text = []
          
          report_data.o_r_report_datas.each do |d|
            if d.DataRow
              data << get_row(d.DataRow.col_datas)
            elsif d.TextRow
              text << d.TextRow.value.getValue
            elsif d.SubtotalRow
              subtotals << get_row(d.SubtotalRow.col_datas)
            elsif d.TotalRow
              totals << get_row(d.TotalRow.col_datas)
            end
  
          end
          
          return {:data => new(data), 
                  :subtotals => new(subtotals),
                  :text => text,
                  :totals => new(totals)}
        end 
      end
            
      def [](value)
        if value.kind_of? String
          self.detect{ |entry| entry[0] == value }
        else
          super
        end
      end
          
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
jm81-qbfc-0.3.0 lib/qbfc/reports/rows.rb
qbfc-0.3.0 lib/qbfc/reports/rows.rb