Sha256: 42eb8ac90605664f8fdd46af6b5a20969e39d761f79815a86e5a75d12716f0e5

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

#!/usr/bin/env ruby
# Util::Comparison -- de.oddb.org -- 13.03.2007 -- hwyss@ywesee.com

require 'delegate'

module ODDB
  module Util
    class Comparison < SimpleDelegator
      attr_reader :difference, :absolute, :factor, 
        :difference_exfactory, :absolute_exfactory, :factor_exfactory
      def initialize(package, original)
        @package = package
        psize = package.size.to_f
        pprice = package.price(:public).to_f
        osize = original.size.to_f
        oprice = original.price(:public).to_f
        unless((psize * pprice * osize * oprice) == 0)
          @factor = psize / osize
          @absolute = pprice - oprice
          @difference = ((osize * pprice) / (psize * oprice) - 1) * 100
        end
        pprice = package.price(:exfactory).to_f
        oprice = original.price(:exfactory).to_f
        unless((psize * pprice * osize * oprice) == 0)
          @factor_exfactory = psize / osize
          @absolute_exfactory = pprice - oprice
          @difference_exfactory = ((osize * pprice) / (psize * oprice) - 1) * 100
        end
        super(package)
      end
      def is_a?(mod)
        super || @package.is_a?(mod)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
de.oddb-2.0.1 lib/oddb/util/comparison.rb
ramaze.ch.oddb.org-1.0.0 lib/oddb/util/comparison.rb
de.oddb-2.0.0 lib/oddb/util/comparison.rb