The namespace for all unit related classes. Mixing this in has the additional effect of making Units.with_unit_converter available without the Units. prefix, as well as the shortcuts for creating Units (see Units#method_missing).
# File lib/van/units/base.rb, line 99 99: def self.append_features(m) 100: m.send(:extend, Units) 101: super 102: end
Executes the block with the current Converter changed to the given Converter. This allows to temporarily change the Converter used by default. A Converter object can be given, or the name of a registered Converter.
Example:
with_unit_converter(:uk) { puts 1.cwt.to(lb) # => 112.0 lb } with_unit_converter(:us) { puts 1.cwt.to(lb) # => 100.0 lb }
See also Converter.current.
# File lib/van/units/base.rb, line 120 120: def with_unit_converter(name, &blk) # :yields: 121: Units::Converter.with_converter(name, &blk) 122: end
# File lib/van/units/base.rb, line 89 89: def const_missing(c) 90: if (Units::Converter.current.registered?(c) rescue false) 91: return Units::Unit.new({c => 1}, Units::Converter.current) 92: else 93: ::Exception.with_clean_backtrace("const_missing") { 94: super 95: } 96: end 97: end
# File lib/van/units/base.rb, line 76 76: def method_missing(m, *args, &blk) 77: if args.length == 1 78: args[0] = (Units::Converter.converter(args[0]) rescue nil) if not args[0].is_a? Units::Converter 79: return Units::Unit.new({m => 1}, args[0]) if args[0] && args[0].registered?(m) 80: elsif (Units::Converter.current.registered?(m) rescue false) 81: raise ::ArgumentError, "Wrong number of arguments" if args.length != 0 82: return Units::Unit.new({m => 1}, Units::Converter.current) 83: end 84: ::Exception.with_clean_backtrace("method_missing") { 85: super 86: } 87: end
Executes the block with the current Converter changed to the given Converter. This allows to temporarily change the Converter used by default. A Converter object can be given, or the name of a registered Converter.
Example:
with_unit_converter(:uk) { puts 1.cwt.to(lb) # => 112.0 lb } with_unit_converter(:us) { puts 1.cwt.to(lb) # => 100.0 lb }
See also Converter.current.
# File lib/van/units/base.rb, line 120 120: def with_unit_converter(name, &blk) # :yields: 121: Units::Converter.with_converter(name, &blk) 122: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.