Sha256: 59e622d090efa95eaf9ebc95c74c98ecbca3bb386c4f2fb4b61590c3e5dc1a3b

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

require 'rational' unless RUBY_VERSION >= '1.9.2'
require 'set'

require 'mongomodel/support/types/object'
require 'mongomodel/support/types/string'
require 'mongomodel/support/types/integer'
require 'mongomodel/support/types/float'
require 'mongomodel/support/types/boolean'
require 'mongomodel/support/types/symbol'
require 'mongomodel/support/types/date'
require 'mongomodel/support/types/time'
require 'mongomodel/support/types/custom'
require 'mongomodel/support/types/array'
require 'mongomodel/support/types/set'
require 'mongomodel/support/types/hash'
require 'mongomodel/support/types/rational'

module MongoModel
  module Types
    CONVERTERS = {
      ::String   => Types::String.new,
      ::Integer  => Types::Integer.new,
      ::Float    => Types::Float.new,
      ::Boolean  => Types::Boolean.new,
      ::Symbol   => Types::Symbol.new,
      ::Date     => Types::Date.new,
      ::Time     => Types::Time.new,
      ::Array    => Types::Array.new,
      ::Set      => Types::Set.new,
      ::Hash     => Types::Hash.new,
      ::Rational => Types::Rational.new
    }
    
    def self.converter_for(type)
      if CONVERTERS[type]
        CONVERTERS[type]
      else
        CONVERTERS[type] = Types::Custom.new(type)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongomodel-0.4.0 lib/mongomodel/support/types.rb
mongomodel-0.3.6 lib/mongomodel/support/types.rb
mongomodel-0.3.5 lib/mongomodel/support/types.rb
mongomodel-0.3.4 lib/mongomodel/support/types.rb
mongomodel-0.3.3 lib/mongomodel/support/types.rb
mongomodel-0.3.2 lib/mongomodel/support/types.rb
mongomodel-0.3.1 lib/mongomodel/support/types.rb
mongomodel-0.3.0 lib/mongomodel/support/types.rb