mongoid-dsl 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55982f2dfe0534e050096105b911bc050d121221
4
- data.tar.gz: 49782fd0a004ea08e9204e124d87e050b539dfeb
3
+ metadata.gz: 372d53d1aed4d20d50950a902a1afc589e63ad38
4
+ data.tar.gz: 3ff39915be54309d206c31f0f32ab706b4de2e22
5
5
  SHA512:
6
- metadata.gz: 588e358725dc0eabf3f13d870dc498f43b0b2bea5f9e49a33319681a26cf6705a4cb54870c233a061749b5c49c9598b703023c9d726f2a6e474a70c2b490146c
7
- data.tar.gz: 6b5c15c7169f27e71a17cd298b2bf75cc76192fcb109c8b8224fa9b12ccaf953e7a93970b5ae7b2e80e747d1c020905044a289ed13050f19948e648263db36d7
6
+ metadata.gz: a86d8aab7e0013a166222f6d2b9fdb77757d4205eefefee51864a93063bec01758f1b7cec61cf6affec5703c098b1954f41a52d22dfc69bf33a3e76550d82f06
7
+ data.tar.gz: 445636d49a606e87561b1cd168b23fb23846e625027ea99aacbca08ca746e079f14f78bc0599d171df52643065fa5e07249c52c84262e1a92cf2b679df36a5d0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -1 +1,2 @@
1
- Mongoid.load!(File.join(File.dirname(__FILE__),"mongoid.yml"), :development)
1
+ Mongoid.load!(File.join(File.dirname(__FILE__),"mongoid.yml"), :development)
2
+ I18n.enforce_available_locales = false
@@ -0,0 +1,64 @@
1
+
2
+ class TestA
3
+
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::CRUD
7
+
8
+ store_in :collection => self.mongoid_name
9
+
10
+ embeds_many :TestB.mongoid_name
11
+
12
+ # field :test,
13
+ # :type => String,
14
+ # :presence => true,
15
+ # :desc => "description for this field",
16
+ # :accept_only => %W[ hello world hello\ world ]
17
+
18
+ end
19
+
20
+ class TestB
21
+
22
+ include Mongoid::Document
23
+ include Mongoid::Timestamps
24
+ include Mongoid::CRUD
25
+
26
+ embedded_in :TestA.mongoid_name
27
+ embeds_many :TestC.mongoid_name
28
+
29
+ # field :test,
30
+ # :type => String,
31
+ # :presence => true,
32
+ # :desc => "description for this field",
33
+ # :uniq => true
34
+
35
+ end
36
+
37
+ class TestC
38
+
39
+ include Mongoid::Document
40
+ include Mongoid::Timestamps
41
+
42
+ embedded_in :TestB.mongoid_name
43
+ embeds_many :TestD.mongoid_name
44
+
45
+ field :test,
46
+ :type => String,
47
+ :presence => true,
48
+ :desc => "description for this field"
49
+
50
+ end
51
+
52
+ class TestD
53
+
54
+ include Mongoid::Document
55
+ include Mongoid::Timestamps
56
+
57
+ embedded_in :TestC.mongoid_name
58
+
59
+ field :test,
60
+ :type => String,
61
+ :presence => true,
62
+ :desc => "description for this field"
63
+
64
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../lib/mongoid-dsl"
2
+ require_relative "helper/connection"
3
+
4
+ class TestD
5
+
6
+ include Mongoid::Document
7
+ include Mongoid::Timestamps
8
+
9
+ # for manual include but by default after require the module it will happen on the fly!
10
+ include Mongoid::DSL
11
+
12
+ store_in :collection => self.mongoid_name
13
+
14
+ field :test,
15
+ :type => String,
16
+ :desc => "description for this field"
17
+
18
+ end
@@ -1,71 +1,6 @@
1
1
  require_relative "../lib/mongoid-dsl"
2
- require_relative "helper/con"
3
-
4
- :TestA.mongoid_name #> nil
5
-
6
- class TestA
7
-
8
- include Mongoid::Document
9
- include Mongoid::Timestamps
10
-
11
- store_in :collection => self.mongoid_name
12
-
13
- embeds_many :TestB.mongoid_name
14
-
15
- field :test,
16
- :type => String,
17
- :presence => true,
18
- :desc => "description for this field",
19
- :accept_only => %W[ hello world hello\ world ]
20
-
21
- end
22
-
23
- :TestA.mongoid_name #> "test_a"
24
-
25
- class TestB
26
-
27
- include Mongoid::Document
28
- include Mongoid::Timestamps
29
-
30
- embedded_in :TestA.mongoid_name
31
- embeds_many :TestC.mongoid_name
32
-
33
- field :test,
34
- :type => String,
35
- :presence => true,
36
- :desc => "description for this field",
37
- :uniq => true
38
-
39
- end
40
-
41
- class TestC
42
-
43
- include Mongoid::Document
44
- include Mongoid::Timestamps
45
-
46
- embedded_in :TestB.mongoid_name
47
- embeds_many :TestD.mongoid_name
48
-
49
- field :test,
50
- :type => String,
51
- :presence => true,
52
- :desc => "description for this field"
53
-
54
- end
55
-
56
- class TestD
57
-
58
- include Mongoid::Document
59
- include Mongoid::Timestamps
60
-
61
- embedded_in :TestC.mongoid_name
62
-
63
- field :test,
64
- :type => String,
65
- :presence => true,
66
- :desc => "description for this field"
67
-
68
- end
2
+ require_relative "helper/connection"
3
+ require_relative "helper/models"
69
4
 
70
5
  test_a= TestA.create! test: "hello"
71
6
  test_a.test_b.create(test: "world")
@@ -74,11 +74,6 @@ module Mongoid
74
74
  end
75
75
  end
76
76
 
77
- #> not yet finished
78
- def available_fields
79
- Mongoid::Document.available_fields(self)
80
- end
81
-
82
77
  def properties
83
78
 
84
79
  hash_data = Hash.new
@@ -125,7 +120,7 @@ module Mongoid
125
120
  end
126
121
  end
127
122
 
128
- def get_path(*included)
123
+ def _get_class_path(*included)
129
124
 
130
125
  # create defaults
131
126
  begin
@@ -322,7 +317,7 @@ module Mongoid
322
317
  # mother model find, and path generate
323
318
  begin
324
319
 
325
- full_path = self.get_path(*models_container) || Array.new.push(self)
320
+ full_path = self._get_class_path(*models_container) || Array.new.push(self)
326
321
  mother_model= full_path.shift
327
322
 
328
323
  full_path.count.times do |index|
@@ -622,14 +617,24 @@ module Mongoid
622
617
 
623
618
  end
624
619
 
620
+ # for manual include
621
+ begin
622
+ self.__send__ :include, Mongoid::DSL::Document::Include
623
+ def self.included klass
624
+ klass.__send__ :extend,Mongoid::DSL::Document::Extend
625
+ end
626
+ end
627
+
625
628
  end
626
629
  end
627
630
 
628
631
  begin
632
+
629
633
  Mongoid::Config.inject_singleton_method :register_model, add: :before do |klass|
630
634
  klass.__send__ :extend, Mongoid::DSL::Document::Extend
631
635
  klass.__send__ :include, Mongoid::DSL::Document::Include
632
636
  end
637
+
633
638
  rescue NoMethodError
634
639
  end
635
640
 
@@ -642,4 +647,4 @@ end
642
647
  class_name.__send__ :include, Mongoid::DSL::CoreExt::Include
643
648
  end
644
649
 
645
- String.__send__ :include, Mongoid::DSL::StringExt::Include
650
+ String.__send__ :include, Mongoid::DSL::StringExt::Include
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Luzsi
@@ -94,8 +94,10 @@ files:
94
94
  - README.md
95
95
  - Rakefile
96
96
  - VERSION
97
- - examples/helper/con.rb
97
+ - examples/helper/connection.rb
98
+ - examples/helper/models.rb
98
99
  - examples/helper/mongoid.yml
100
+ - examples/include.rb
99
101
  - examples/recursive_find.rb
100
102
  - lib/mongoid-dsl.rb
101
103
  - lib/mongoid-dsl/fields-ext.rb