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.
@@ -0,0 +1,5 @@
1
+ module Invoices
2
+ class ItemsController < ApplicationController
3
+
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Invoices
2
+ class UsersController < ApplicationController
3
+
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ class InvoicesController < ApplicationController
2
+
3
+ end
@@ -0,0 +1,8 @@
1
+ class Invoice::Item
2
+ include Mongoid::Document
3
+ include Mongoid::DocumentInclusion
4
+
5
+ field :description
6
+
7
+ included_in :invoice
8
+ end
@@ -0,0 +1,8 @@
1
+ class Invoice::User
2
+ include Mongoid::Document
3
+ include Mongoid::DocumentInclusion
4
+
5
+ field :name
6
+
7
+ included_in :invoice
8
+ end
@@ -0,0 +1,8 @@
1
+ class Invoice
2
+ include Mongoid::Document
3
+ include Mongoid::DocumentInclusion
4
+ field :title
5
+
6
+ includes_many :items
7
+ includes_one :user
8
+ end
@@ -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
@@ -0,0 +1,5 @@
1
+ MongoidIncluded::Application.routes.draw do
2
+ resources :invoices do
3
+ resources :items, :module => "invoices"
4
+ end
5
+ end
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, "Document must be a Mongoid Document" unless mongoid_document? self
16
- raise NotMongoidDocument, "Parent document must be a Mongoid Document" unless mongoid_document? self.parent
17
- raise DocumentAlreadyIncluded, "Document can be included only in one class" if inclusion_model
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, "Document must be a Mongoid Document" unless mongoid_document? self
64
- raise NotMongoidDocument, "Descendent document must be a Mongoid Document" unless mongoid_document? model_klass(included_klass(_model))
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
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Included
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -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
@@ -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 =~ /Document must be a Mongoid Document/
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 =~ /Descendent document must be a Mongoid Document/
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 parent is not mongoid document" do
62
+ it "issues an error if child is not mongoid document" do
63
63
  Object.const_set "NonMongoidDocument", Class.new
64
- NonMongoidDocument.const_set "NonMongoidParent", Class.new
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 =~ /Parent document must be a Mongoid Document/
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 "NonMongoidParent", Class.new
78
- NonMongoidDocument.send(:include, Mongoid::DocumentInclusion)
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 =~ /Document must be a Mongoid Document/
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
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: &2160464360 !ruby/object:Gem::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: *2160464360
25
+ version_requirements: *2156553760
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: mongoid
28
- requirement: &2160463820 !ruby/object:Gem::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: *2160463820
36
+ version_requirements: *2156553220
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &2160463300 !ruby/object:Gem::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: '2.6'
44
+ version: 2.6.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2160463300
47
+ version_requirements: *2156552720
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: bson_ext
50
- requirement: &2160462780 !ruby/object:Gem::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: *2160462780
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