durran-mongoid 0.2.0 → 0.2.2

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/Rakefile CHANGED
@@ -12,7 +12,7 @@ begin
12
12
  gem.email = "durran@gmail.com"
13
13
  gem.homepage = "http://github.com/durran/mongoid"
14
14
  gem.authors = ["Durran Jordan"]
15
- gem.add_dependency "active_support"
15
+ gem.add_dependency "activesupport"
16
16
  gem.add_dependency "mongodb-mongo"
17
17
  end
18
18
 
@@ -46,4 +46,4 @@ Rake::RDocTask.new do |rdoc|
46
46
  rdoc.rdoc_files.include("lib/**/*.rb")
47
47
  end
48
48
 
49
- task :default => ["rcov", "metrics:all"]
49
+ task :default => ["rcov", "metrics:all"]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.2
@@ -10,16 +10,23 @@ module Mongoid #:nodoc:
10
10
  # This then delegated all methods to the array class since this is
11
11
  # essentially a proxy to an array itself.
12
12
  def initialize(association_name, document)
13
- klass = association_name.to_s.classify.constantize
13
+ @klass = association_name.to_s.classify.constantize
14
14
  attributes = document.attributes[association_name]
15
15
  @documents = attributes ? attributes.collect do |attribute|
16
- child = klass.new(attribute)
16
+ child = @klass.new(attribute)
17
17
  child.parent = document
18
18
  child
19
19
  end : []
20
20
  super(@documents)
21
21
  end
22
22
 
23
+ # Builds a new Document and adds it to the association collection. The
24
+ # document created will be of the same class as the others in the
25
+ # association, and the attributes will be passed into the constructor.
26
+ def build(attributes)
27
+ push(@klass.new(attributes))
28
+ end
29
+
23
30
  end
24
31
  end
25
32
  end
data/mongoid.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mongoid}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.2"
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"]
@@ -66,14 +66,14 @@ Gem::Specification.new do |s|
66
66
  s.specification_version = 3
67
67
 
68
68
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
69
- s.add_runtime_dependency(%q<active_support>, [">= 0"])
69
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
70
70
  s.add_runtime_dependency(%q<mongodb-mongo>, [">= 0"])
71
71
  else
72
- s.add_dependency(%q<active_support>, [">= 0"])
72
+ s.add_dependency(%q<activesupport>, [">= 0"])
73
73
  s.add_dependency(%q<mongodb-mongo>, [">= 0"])
74
74
  end
75
75
  else
76
- s.add_dependency(%q<active_support>, [">= 0"])
76
+ s.add_dependency(%q<activesupport>, [">= 0"])
77
77
  s.add_dependency(%q<mongodb-mongo>, [">= 0"])
78
78
  end
79
79
  end
@@ -3,8 +3,8 @@ require File.join(File.dirname(__FILE__), "/../../../spec_helper.rb")
3
3
  describe Mongoid::Associations::HasManyAssociation do
4
4
 
5
5
  before do
6
- @attributes = { :addresses => [
7
- { :street => "Street 1", :document_class => "Address" },
6
+ @attributes = { :addresses => [
7
+ { :street => "Street 1", :document_class => "Address" },
8
8
  { :street => "Street 2", :document_class => "Address" } ] }
9
9
  @document = stub(:attributes => @attributes)
10
10
  end
@@ -47,6 +47,21 @@ describe Mongoid::Associations::HasManyAssociation do
47
47
 
48
48
  end
49
49
 
50
+ describe "#build" do
51
+
52
+ before do
53
+ @association = Mongoid::Associations::HasManyAssociation.new(:addresses, @document)
54
+ end
55
+
56
+ it "adds a new document to the array with the suppied parameters" do
57
+ @association.build({ :street => "Street 1", :document_class => "Address" })
58
+ @association.length.should == 3
59
+ @association[2].should be_a_kind_of(Address)
60
+ @association[2].street.should == "Street 1"
61
+ end
62
+
63
+ end
64
+
50
65
  describe "#first" do
51
66
 
52
67
  context "when there are elements in the array" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: durran-mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -13,7 +13,7 @@ date: 2009-09-23 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: active_support
16
+ name: activesupport
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement