Sha256: ac60447d919d232ee51c87a4bab3b9a6a4563e227e380eec99b1893bac762814
Contents?: true
Size: 891 Bytes
Versions: 4
Compression:
Stored size: 891 Bytes
Contents
require 'bigdecimal' require 'active_support/core_ext/enumerable' module SK # calculation module # == Usage # # class LineItem # calculates :item # end # # class Invoice # calculates :items # end module Calc # Global calculation precision setting. If you save values to db with 8 # decimal places you should use a precision of 8 def self.precision @precision || 6 end def self.precision=(val) @precision = val end def self.included(base) autoload :Item, 'sk_calc/item' autoload :Items, 'sk_calc/items' base.extend(ClassMethods) end module ClassMethods def calculates(kind, opts={}) include Item if kind == :item include Items if kind == :items if opts[:precision] SK::Calc.precision = opts[:precision] end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
sk_calc-1.0.3 | lib/sk_calc.rb |
sk_calc-1.0.2 | lib/sk_calc.rb |
sk_calc-1.0.1 | lib/sk_calc.rb |
sk_calc-1.0.0 | lib/sk_calc.rb |