Sha256: 3ddfc47894c7e92294c237f10c8f7a68b99055ace92722082062132ec47556d1
Contents?: true
Size: 998 Bytes
Versions: 5
Compression:
Stored size: 998 Bytes
Contents
require "measured/version" require "active_support/all" require "bigdecimal" module Measured class UnitError < StandardError ; end class << self def build(&block) builder = UnitSystemBuilder.new builder.instance_eval(&block) Class.new(Measurable) do class << self attr_reader :unit_system end @unit_system = builder.build end end def method_missing(method, *args) class_name = "Measured::#{ method }" if Measurable.subclasses.map(&:to_s).include?(class_name) klass = class_name.constantize Measured.define_singleton_method(method) do |value, unit| klass.new(value, unit) end klass.new(*args) else super end end end end require "measured/arithmetic" require "measured/parser" require "measured/unit" require "measured/unit_system" require "measured/unit_system_builder" require "measured/conversion_table" require "measured/measurable"
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
measured-2.3.0 | lib/measured/base.rb |
measured-2.2.0 | lib/measured/base.rb |
measured-2.1.0 | lib/measured/base.rb |
measured-2.0.0 | lib/measured/base.rb |
measured-2.0.0.pre4 | lib/measured/base.rb |