mongoid-included 0.0.4 → 0.0.5
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/example/controllers/invoices/items_controller.rb +5 -0
- data/example/controllers/invoices/user_controller.rb +5 -0
- data/example/controllers/invoices_controller.rb +3 -0
- data/example/models/invoice/item.rb +8 -0
- data/example/models/invoice/user.rb +8 -0
- data/example/models/invoice.rb +8 -0
- data/example/readme.txt +8 -0
- data/example/routes.rb +5 -0
- data/example/views/application/index.html.erb +0 -0
- data/example/views/invoices/index.html.erb +0 -0
- data/example/views/invoices/items/_item.html.erb +0 -0
- data/example/views/layouts/application.html.erb +0 -0
- data/lib/mongoid-included/document_inclusion.rb +5 -5
- data/lib/mongoid-included/version.rb +1 -1
- data/mongoid-included.gemspec +1 -1
- data/spec/unit/included_spec.rb +13 -11
- metadata +22 -10
data/example/readme.txt
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
this folder contains an exemple of
|
|
2
|
+
the directory structure you can create with
|
|
3
|
+
namespaced models organized inside
|
|
4
|
+
the parent's document folder
|
|
5
|
+
|
|
6
|
+
This conventions respects url generation,
|
|
7
|
+
correct parameter names in form building
|
|
8
|
+
and template locations, incluing partials
|
data/example/routes.rb
ADDED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,9 +12,9 @@ module Mongoid
|
|
|
12
12
|
|
|
13
13
|
module ClassMethods
|
|
14
14
|
def included_in(_model, args = {})
|
|
15
|
-
raise NotMongoidDocument, "
|
|
16
|
-
raise NotMongoidDocument, "Parent document must
|
|
17
|
-
raise DocumentAlreadyIncluded, "
|
|
15
|
+
raise NotMongoidDocument, "Child document must include Mongoid::Document" unless mongoid_document? self
|
|
16
|
+
raise NotMongoidDocument, "Parent document must include Mongoid::Document" unless mongoid_document? self.parent
|
|
17
|
+
raise DocumentAlreadyIncluded, "Child document already included" if inclusion_model
|
|
18
18
|
embedded_in _model, args
|
|
19
19
|
self.inclusion_model = true
|
|
20
20
|
end
|
|
@@ -60,8 +60,8 @@ module Mongoid
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def verify_dependencies(_model)
|
|
63
|
-
raise NotMongoidDocument, "
|
|
64
|
-
raise NotMongoidDocument, "
|
|
63
|
+
raise NotMongoidDocument, "Parent document must include Mongoid::Document" unless mongoid_document? self
|
|
64
|
+
raise NotMongoidDocument, "Child document must include Mongoid::Document" unless mongoid_document? model_klass(included_klass(_model))
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
end
|
data/mongoid-included.gemspec
CHANGED
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
|
|
22
22
|
s.add_runtime_dependency("activemodel", ["~> 3.1.0.beta1"])
|
|
23
23
|
s.add_runtime_dependency(%q<mongoid>, ["~> 2.0"])
|
|
24
|
-
s.add_development_dependency("rspec", ["~> 2.6"])
|
|
24
|
+
s.add_development_dependency("rspec", ["~> 2.6.0"])
|
|
25
25
|
s.add_development_dependency("bson_ext", ["~> 1.3"])
|
|
26
26
|
|
|
27
27
|
end
|
data/spec/unit/included_spec.rb
CHANGED
|
@@ -21,7 +21,7 @@ describe "Mongoid::Included" do
|
|
|
21
21
|
Invoice.relations["items"].class_name.should == "Invoice::Item"
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
-
it "issues an error if not mongoid document" do
|
|
24
|
+
it "issues an error if parent is not mongoid document" do
|
|
25
25
|
Object.const_set "NonMongoidDocument", Class.new
|
|
26
26
|
NonMongoidDocument.send(:include, Mongoid::DocumentInclusion)
|
|
27
27
|
NonMongoidDocument.const_set "NonMongoidEmbed", Class.new
|
|
@@ -29,7 +29,7 @@ describe "Mongoid::Included" do
|
|
|
29
29
|
NonMongoidDocument.includes_many :non_mongoid_embeds
|
|
30
30
|
rescue => e
|
|
31
31
|
e.class.should == Mongoid::DocumentInclusion::NotMongoidDocument
|
|
32
|
-
e.message.should =~ /
|
|
32
|
+
e.message.should =~ /Parent document must include Mongoid::Document/
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -42,7 +42,7 @@ describe "Mongoid::Included" do
|
|
|
42
42
|
NonMongoidDocument.includes_many :non_mongoid_embeds
|
|
43
43
|
rescue => e
|
|
44
44
|
e.class.should == Mongoid::DocumentInclusion::NotMongoidDocument
|
|
45
|
-
e.message.should =~ /
|
|
45
|
+
e.message.should =~ /Child document must include Mongoid::Document/
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -59,28 +59,30 @@ describe "Mongoid::Included" do
|
|
|
59
59
|
Invoice::Item.relations["invoice"].macro.should == :embedded_in
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
it "issues an error if
|
|
62
|
+
it "issues an error if child is not mongoid document" do
|
|
63
63
|
Object.const_set "NonMongoidDocument", Class.new
|
|
64
|
-
NonMongoidDocument.const_set "
|
|
64
|
+
NonMongoidDocument.const_set "NonMongoidChild", Class.new
|
|
65
65
|
NonMongoidDocument.send(:include, Mongoid::Document)
|
|
66
66
|
NonMongoidDocument.send(:include, Mongoid::DocumentInclusion)
|
|
67
|
+
NonMongoidDocument::NonMongoidChild.send(:include, Mongoid::DocumentInclusion)
|
|
67
68
|
begin
|
|
68
|
-
NonMongoidDocument.included_in :invoice
|
|
69
|
+
NonMongoidDocument::NonMongoidChild.included_in :invoice
|
|
69
70
|
rescue => e
|
|
70
71
|
e.class.should == Mongoid::DocumentInclusion::NotMongoidDocument
|
|
71
|
-
e.message.should =~ /
|
|
72
|
+
e.message.should =~ /Child document must include Mongoid::Document/
|
|
72
73
|
end
|
|
73
74
|
end
|
|
74
75
|
|
|
75
76
|
it "issues an error if parent is not mongoid document" do
|
|
76
77
|
Object.const_set "NonMongoidDocument", Class.new
|
|
77
|
-
NonMongoidDocument.const_set "
|
|
78
|
-
NonMongoidDocument.send(:include, Mongoid::
|
|
78
|
+
NonMongoidDocument.const_set "NonMongoidChild", Class.new
|
|
79
|
+
NonMongoidDocument::NonMongoidChild.send(:include, Mongoid::Document)
|
|
80
|
+
NonMongoidDocument::NonMongoidChild.send(:include, Mongoid::DocumentInclusion)
|
|
79
81
|
begin
|
|
80
|
-
NonMongoidDocument.included_in :invoice
|
|
82
|
+
NonMongoidDocument::NonMongoidChild.included_in :invoice
|
|
81
83
|
rescue => e
|
|
82
84
|
e.class.should == Mongoid::DocumentInclusion::NotMongoidDocument
|
|
83
|
-
e.message.should =~ /
|
|
85
|
+
e.message.should =~ /Parent document must include Mongoid::Document/
|
|
84
86
|
end
|
|
85
87
|
end
|
|
86
88
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mongoid-included
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -14,7 +14,7 @@ default_executable:
|
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activemodel
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &2156553760 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ~>
|
|
@@ -22,10 +22,10 @@ dependencies:
|
|
|
22
22
|
version: 3.1.0.beta1
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *2156553760
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: mongoid
|
|
28
|
-
requirement: &
|
|
28
|
+
requirement: &2156553220 !ruby/object:Gem::Requirement
|
|
29
29
|
none: false
|
|
30
30
|
requirements:
|
|
31
31
|
- - ~>
|
|
@@ -33,21 +33,21 @@ dependencies:
|
|
|
33
33
|
version: '2.0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *2156553220
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: rspec
|
|
39
|
-
requirement: &
|
|
39
|
+
requirement: &2156552720 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ~>
|
|
43
43
|
- !ruby/object:Gem::Version
|
|
44
|
-
version:
|
|
44
|
+
version: 2.6.0
|
|
45
45
|
type: :development
|
|
46
46
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *2156552720
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: bson_ext
|
|
50
|
-
requirement: &
|
|
50
|
+
requirement: &2156552240 !ruby/object:Gem::Requirement
|
|
51
51
|
none: false
|
|
52
52
|
requirements:
|
|
53
53
|
- - ~>
|
|
@@ -55,7 +55,7 @@ dependencies:
|
|
|
55
55
|
version: '1.3'
|
|
56
56
|
type: :development
|
|
57
57
|
prerelease: false
|
|
58
|
-
version_requirements: *
|
|
58
|
+
version_requirements: *2156552240
|
|
59
59
|
description: Helper to facilitate inclusion of namespaced documents in another Mongoid
|
|
60
60
|
Document
|
|
61
61
|
email: angelim@angelim.com.br
|
|
@@ -71,6 +71,18 @@ files:
|
|
|
71
71
|
- LICENSE
|
|
72
72
|
- README.md
|
|
73
73
|
- Rakefile
|
|
74
|
+
- example/controllers/invoices/items_controller.rb
|
|
75
|
+
- example/controllers/invoices/user_controller.rb
|
|
76
|
+
- example/controllers/invoices_controller.rb
|
|
77
|
+
- example/models/invoice.rb
|
|
78
|
+
- example/models/invoice/item.rb
|
|
79
|
+
- example/models/invoice/user.rb
|
|
80
|
+
- example/readme.txt
|
|
81
|
+
- example/routes.rb
|
|
82
|
+
- example/views/application/index.html.erb
|
|
83
|
+
- example/views/invoices/index.html.erb
|
|
84
|
+
- example/views/invoices/items/_item.html.erb
|
|
85
|
+
- example/views/layouts/application.html.erb
|
|
74
86
|
- lib/mongoid-included.rb
|
|
75
87
|
- lib/mongoid-included/document_inclusion.rb
|
|
76
88
|
- lib/mongoid-included/embedded_name.rb
|