Skip to content

Commit

Permalink
Removed Types and const lookup stuff. Moving stuff back to top level …
Browse files Browse the repository at this point in the history
…as the const missing/get stuff was slow in combo with rails.
  • Loading branch information
jnunemaker committed Nov 24, 2009
1 parent b18b761 commit bf05b5a
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 66 deletions.
44 changes: 44 additions & 0 deletions lib/mongo_mapper/support.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,34 @@ def self.from_mongo(value)
end
end

class Binary
def self.to_mongo(value)
if value.is_a?(ByteBuffer)
value
else
value.nil? ? nil : ByteBuffer.new(value)
end
end

def self.from_mongo(value)
value
end
end

class Boolean
def self.to_mongo(value)
if value.is_a?(Boolean)
value
else
['true', 't', '1'].include?(value.to_s.downcase)
end
end

def self.from_mongo(value)
!!value
end
end

class Date
def self.to_mongo(value)
date = Date.parse(value.to_s)
Expand Down Expand Up @@ -94,6 +122,22 @@ def self.from_mongo(value)
end
end

class ObjectId
def self.to_mongo(value)
if value.nil?
nil
elsif value.is_a?(Mongo::ObjectID)
value
else
Mongo::ObjectID.from_string(value.to_s)
end
end

def self.from_mongo(value)
value
end
end

class Set
def self.to_mongo(value)
value.to_a
Expand Down
64 changes: 0 additions & 64 deletions lib/mongo_mapper/types.rb

This file was deleted.

2 changes: 0 additions & 2 deletions test/unit/test_support.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
require 'test_helper'

class SupportTest < Test::Unit::TestCase
include MongoMapper::Types

context "Array#to_mongo" do
should "convert value to_a" do
Array.to_mongo([1, 2, 3, 4]).should == [1, 2, 3, 4]
Expand Down

0 comments on commit bf05b5a

Please sign in to comment.