Sha256: e6a40cb15cdb91d30fa712e10ae8532dcd4681fc118eae395d1fcff8fd7b245f
Contents?: true
Size: 596 Bytes
Versions: 4
Compression:
Stored size: 596 Bytes
Contents
def Unit(*args) value = Numeric === args.first ? args.shift : 1 value = Rational(value, args.shift) if Numeric === args.first system = args.index {|x| Unit::System === x } system = system ? args.delete_at(system) : Unit.default_system unit = args.index {|x| String === x } unit = system.parse_unit(args.delete_at(unit)) if unit unless unit unit = args.index {|x| Array === x } unit = args.delete_at(unit) if unit end unit ||= [] system.validate_unit(unit) raise ArgumentError, 'wrong number of arguments' unless args.empty? Unit.new(value, unit, system) end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
unit-0.5.0 | lib/unit/constructor.rb |
unit-0.4.1 | lib/unit/constructor.rb |
unit-0.4.0 | lib/unit/constructor.rb |
unit-0.3.0 | lib/unit/constructor.rb |