lib/conversions.rb in seamusabshere-conversions-0.1.0 vs lib/conversions.rb in seamusabshere-conversions-1.2
- old
+ new
@@ -1,59 +1,31 @@
-# Conversions makes it easy to convert between units.
module Conversions
- mattr_accessor :conversions
-
- # Clear all previously registered conversions
- def self.clear
- self.conversions = {}
- end
- clear
-
- # Load all the default conversions shipped with the code
- def self.load_defaults
- load File.expand_path('../conversions/defaults.rb', __FILE__)
- end
-
- # Register a new conversion. This automatically also registers the inverse conversion.
- #
- # * _from_: The unit to convert from (ie. :miles, :stones, or :pints)
- # * _to_: The unit to convert to
- # * _rate_: The conversion rate from _from_ to _to_. (_from_ * _rate_ = _to_)
- def self.register(from, to, rate)
- conversions[from] ||= {}
- conversions[from][to] = rate
- conversions[to] ||= {}
- conversions[to][from] = 1.0 / rate
- Conversions.define_shortcut(from)
- Conversions.define_shortcut(to)
- end
-
- def self.define_shortcut(unit)
- Numeric.class_eval do
- define_method unit do
- Conversions::Unit.new(self, unit)
- end unless respond_to? unit
- end
- end
-
- module Ext
- # Convert from one unit to another.
- #
- # * _from_: The unit to convert from (ie. :miles, :stones, or :pints)
- # * _to_: The unit to convert to
- # * _options_:
- # * :scale: The number of digits you want after the dot.
- def convert(from, to, options={})
- Conversions::Unit.new(self, from).to(to, options)
- end
- end
+ CONVERSION = {
+ :miles => {
+ :kilometres => 1.609344
+ },
+ :kilograms => {
+ :grams => 1000.0,
+ :pounds => 2.20462262,
+ :short_tons => 0.00110231131,
+ :tons => 0.00110231131
+ },
+ :tons => {
+ :pounds => 2000.0
+ },
+ :gallons => {
+ :litres => 3.7854118
+ },
+ :cubic_feet => {
+ :cubic_meters => 0.0283168466
+ }
+ }
end
require 'conversions/unit'
+require 'conversions/ext'
+require 'conversions/active_record_accessors'
-Conversions.load_defaults
-Numeric.send(:include, Conversions::Ext)
-
+Numeric.send :include, Conversions::Ext
if defined?(ActiveRecord)
- require 'conversions/active_record_accessors'
- ActiveRecord::Base.send(:extend, Conversions::ActiveRecordAccessors)
-end
\ No newline at end of file
+ ActiveRecord::Base.send :extend, Conversions::ActiveRecordAccessors
+end