blanko 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +6 -0
- data/lib/blanko.rb +2 -1
- data/lib/blanko/calculators/column.rb +25 -0
- data/lib/blanko/calculators/row.rb +23 -0
- data/lib/blanko/emitters/base.rb +21 -0
- data/lib/blanko/nullifier.rb +13 -0
- data/lib/blanko/reports/base.rb +28 -0
- data/lib/blanko/version.rb +1 -1
- metadata +6 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8fd45b7891449a8c72cf946acd5c883f05869a66
         | 
| 4 | 
            +
              data.tar.gz: 5f77f64ef2fdbb0bdf83af2eaf148a689d2cf461
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bd4191a6d60ce4a0368e82f917ab0d62d063973d1a70c546915e0a880c39d4998d1c46d14d825d292c87d69197336cb2389a6e1d6a941fad8dcd16ff8de7ea55
         | 
| 7 | 
            +
              data.tar.gz: e84c388ca6fe4a2631c54bee18998b30114ab40e667edd4fb204bfdaad2fe01577cf696f54eb4dd99aa13ec61b01d4a772a5caf20d6770031913478a56c9a901
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/lib/blanko.rb
    CHANGED
    
    
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module Blanko
         | 
| 2 | 
            +
              module Calculators
         | 
| 3 | 
            +
                class Column
         | 
| 4 | 
            +
                  attr_reader :report
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(report)
         | 
| 7 | 
            +
                    @report = report
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def calculate(columns)
         | 
| 11 | 
            +
                    totals = []
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                    @report.data.each do |row|
         | 
| 14 | 
            +
                      columns.each do |column|
         | 
| 15 | 
            +
                        value = Money.from_string(row[column])
         | 
| 16 | 
            +
                        totals[column] ||= Money.from_string('0')
         | 
| 17 | 
            +
                        totals[column] += value
         | 
| 18 | 
            +
                      end
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                    report.append(totals)
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            module Blanko
         | 
| 2 | 
            +
              module Calculators
         | 
| 3 | 
            +
                class Row
         | 
| 4 | 
            +
                  attr_reader :report
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(report)
         | 
| 7 | 
            +
                    @report = report
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def calculate(input_colums, output_column)
         | 
| 11 | 
            +
                    @report.data.each do |row|
         | 
| 12 | 
            +
                      total = Money.from_string('0')
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                      input_colums.each do |column|
         | 
| 15 | 
            +
                        total += Money.from_string(row[column])
         | 
| 16 | 
            +
                      end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                      row[output_column] = total
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Blanko
         | 
| 2 | 
            +
              module Emitters
         | 
| 3 | 
            +
                class Base
         | 
| 4 | 
            +
                  attr_accessor :input, :output, :has_header
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(input, has_header=false)
         | 
| 7 | 
            +
                    @input = input
         | 
| 8 | 
            +
                    @output = nil
         | 
| 9 | 
            +
                    @has_header = has_header
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def transform
         | 
| 13 | 
            +
                    raise 'override this method!'
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def header(data)
         | 
| 17 | 
            +
                    raise 'override this method!'
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            module Blanko
         | 
| 2 | 
            +
              module Reports
         | 
| 3 | 
            +
                class Base
         | 
| 4 | 
            +
                  attr_reader :orders, :emitter, :data, :header
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(orders, emitter)
         | 
| 7 | 
            +
                    @orders = orders
         | 
| 8 | 
            +
                    @emitter = emitter
         | 
| 9 | 
            +
                    @data = []
         | 
| 10 | 
            +
                    @header = nil
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  def generate
         | 
| 14 | 
            +
                    raise 'override!!!'
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  def iterate(&block)
         | 
| 18 | 
            +
                    @orders.each do |order|
         | 
| 19 | 
            +
                      block.call(order)
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  def append(row)
         | 
| 24 | 
            +
                    @data << row
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
    
        data/lib/blanko/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: blanko
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - bjh
         | 
| @@ -55,6 +55,11 @@ files: | |
| 55 55 | 
             
            - bin/setup
         | 
| 56 56 | 
             
            - blanko.gemspec
         | 
| 57 57 | 
             
            - lib/blanko.rb
         | 
| 58 | 
            +
            - lib/blanko/calculators/column.rb
         | 
| 59 | 
            +
            - lib/blanko/calculators/row.rb
         | 
| 60 | 
            +
            - lib/blanko/emitters/base.rb
         | 
| 61 | 
            +
            - lib/blanko/nullifier.rb
         | 
| 62 | 
            +
            - lib/blanko/reports/base.rb
         | 
| 58 63 | 
             
            - lib/blanko/version.rb
         | 
| 59 64 | 
             
            homepage: ''
         | 
| 60 65 | 
             
            licenses:
         |