mongoid 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.8
1
+ 0.5.9
@@ -310,7 +310,7 @@ module Mongoid #:nodoc:
310
310
  # Returns a new +Criteria+ object.
311
311
  def self.translate(*args)
312
312
  type, params = args[0], args[1] || {}
313
- return new(:first).id(type.to_s) if type.is_a?(String)
313
+ return new(:first).id(type.to_s) if type.is_a?(Mongo::ObjectID)
314
314
  return new(type).where(params.delete(:conditions)).extras(params)
315
315
  end
316
316
 
@@ -215,6 +215,11 @@ module Mongoid #:nodoc:
215
215
  fields[name].get(@attributes[name])
216
216
  end
217
217
 
218
+ # Reloads the +Document+ attributes from the database.
219
+ def reload
220
+ @attributes = HashWithIndifferentAccess.new(collection.find_one(id))
221
+ end
222
+
218
223
  # Returns the id of the Document
219
224
  def to_param
220
225
  id.to_s
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mongoid}
8
- s.version = "0.5.8"
8
+ s.version = "0.5.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Durran Jordan"]
12
- s.date = %q{2009-10-30}
12
+ s.date = %q{2009-10-31}
13
13
  s.email = %q{durran@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "README.textile"
@@ -52,7 +52,7 @@ describe Mongoid::Document do
52
52
  context "finding by id" do
53
53
 
54
54
  it "finds the document by the supplied id" do
55
- person = Person.find(@person.id.to_s)
55
+ person = Person.find(@person.id)
56
56
  person.id.should == @person.id
57
57
  end
58
58
 
@@ -92,6 +92,23 @@ describe Mongoid::Document do
92
92
 
93
93
  end
94
94
 
95
+ describe "#reload" do
96
+
97
+ before do
98
+ @person = Person.new(:title => "Sir")
99
+ @person.save
100
+ @from_db = Person.find(@person.id)
101
+ @from_db.age = 35
102
+ @from_db.save
103
+ end
104
+
105
+ it "reloads the obejct attributes from the db" do
106
+ @person.reload
107
+ @person.age.should == 35
108
+ end
109
+
110
+ end
111
+
95
112
  describe "#save" do
96
113
 
97
114
  context "on a has_one association" do
@@ -104,7 +121,7 @@ describe Mongoid::Document do
104
121
 
105
122
  it "saves the parent document" do
106
123
  @name.save
107
- person = Person.find(@person.id.to_s)
124
+ person = Person.find(@person.id)
108
125
  person.name.first_name.should == @name.first_name
109
126
  end
110
127
 
@@ -388,7 +388,7 @@ describe Mongoid::Criteria do
388
388
 
389
389
  it "creates a new select criteria" do
390
390
  id = Mongo::ObjectID.new
391
- criteria = Mongoid::Criteria.translate(id.to_s)
391
+ criteria = Mongoid::Criteria.translate(id)
392
392
  criteria.selector.should == { :_id => id }
393
393
  end
394
394
 
@@ -458,6 +458,21 @@ describe Mongoid::Document do
458
458
 
459
459
  end
460
460
 
461
+ describe "#reload" do
462
+
463
+ before do
464
+ @attributes = { "title" => "Herr" }
465
+ @person = Person.new(:_id => Mongo::ObjectID.new)
466
+ @collection.expects(:find_one).with(@person.id).returns(@attributes)
467
+ end
468
+
469
+ it "reloads the object attribtues from the database" do
470
+ @person.reload
471
+ @person.attributes.should == @attributes
472
+ end
473
+
474
+ end
475
+
461
476
  describe "#select" do
462
477
 
463
478
  it "returns a new criteria with select conditions added" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-30 00:00:00 -04:00
12
+ date: 2009-10-31 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency