mongoid 2.0.0.alpha → 2.0.0.beta.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.
Files changed (216) hide show
  1. data/lib/mongoid.rb +11 -5
  2. data/lib/mongoid/associations.rb +112 -107
  3. data/lib/mongoid/associations/belongs_to_related.rb +2 -3
  4. data/lib/mongoid/associations/embedded_in.rb +12 -4
  5. data/lib/mongoid/associations/{embed_many.rb → embeds_many.rb} +101 -32
  6. data/lib/mongoid/associations/{embed_one.rb → embeds_one.rb} +10 -10
  7. data/lib/mongoid/associations/has_many_related.rb +51 -5
  8. data/lib/mongoid/associations/has_one_related.rb +9 -5
  9. data/lib/mongoid/associations/meta_data.rb +2 -1
  10. data/lib/mongoid/associations/options.rb +15 -6
  11. data/lib/mongoid/associations/proxy.rb +14 -21
  12. data/lib/mongoid/attributes.rb +34 -13
  13. data/lib/mongoid/callbacks.rb +1 -2
  14. data/lib/mongoid/collection.rb +4 -3
  15. data/lib/mongoid/collections.rb +41 -0
  16. data/lib/mongoid/collections/master.rb +3 -2
  17. data/lib/mongoid/collections/slaves.rb +3 -2
  18. data/lib/mongoid/components.rb +4 -1
  19. data/lib/mongoid/config.rb +163 -13
  20. data/lib/mongoid/contexts.rb +1 -2
  21. data/lib/mongoid/contexts/enumerable.rb +1 -1
  22. data/lib/mongoid/contexts/mongo.rb +1 -1
  23. data/lib/mongoid/contexts/paging.rb +10 -2
  24. data/lib/mongoid/criteria.rb +13 -22
  25. data/lib/mongoid/criterion/exclusion.rb +3 -3
  26. data/lib/mongoid/criterion/inclusion.rb +17 -0
  27. data/lib/mongoid/criterion/optional.rb +1 -1
  28. data/lib/mongoid/dirty.rb +253 -0
  29. data/lib/mongoid/document.rb +40 -85
  30. data/lib/mongoid/errors.rb +48 -1
  31. data/lib/mongoid/extensions.rb +11 -9
  32. data/lib/mongoid/extensions/big_decimal/conversions.rb +2 -2
  33. data/lib/mongoid/extensions/boolean/conversions.rb +8 -2
  34. data/lib/mongoid/extensions/date/conversions.rb +13 -4
  35. data/lib/mongoid/extensions/datetime/conversions.rb +1 -6
  36. data/lib/mongoid/extensions/float/conversions.rb +5 -1
  37. data/lib/mongoid/extensions/hash/assimilation.rb +12 -3
  38. data/lib/mongoid/extensions/hash/conversions.rb +34 -4
  39. data/lib/mongoid/extensions/integer/conversions.rb +5 -1
  40. data/lib/mongoid/extensions/nil/assimilation.rb +4 -0
  41. data/lib/mongoid/extensions/object/conversions.rb +3 -3
  42. data/lib/mongoid/extensions/string/conversions.rb +1 -1
  43. data/lib/mongoid/extensions/symbol/inflections.rb +5 -2
  44. data/lib/mongoid/extensions/time_conversions.rb +35 -0
  45. data/lib/mongoid/factory.rb +2 -1
  46. data/lib/mongoid/field.rb +15 -2
  47. data/lib/mongoid/fields.rb +1 -1
  48. data/lib/mongoid/identity.rb +3 -3
  49. data/lib/mongoid/indexes.rb +3 -3
  50. data/lib/mongoid/matchers.rb +1 -2
  51. data/lib/mongoid/memoization.rb +8 -2
  52. data/lib/mongoid/named_scope.rb +0 -5
  53. data/lib/mongoid/observable.rb +1 -1
  54. data/lib/mongoid/paths.rb +30 -22
  55. data/lib/mongoid/persistence.rb +218 -0
  56. data/lib/mongoid/persistence/command.rb +39 -0
  57. data/lib/mongoid/persistence/insert.rb +47 -0
  58. data/lib/mongoid/persistence/insert_embedded.rb +38 -0
  59. data/lib/mongoid/persistence/remove.rb +39 -0
  60. data/lib/mongoid/persistence/remove_all.rb +37 -0
  61. data/lib/mongoid/persistence/remove_embedded.rb +50 -0
  62. data/lib/mongoid/persistence/update.rb +63 -0
  63. data/lib/mongoid/railtie.rb +53 -0
  64. data/lib/mongoid/railties/database.rake +37 -0
  65. data/lib/mongoid/timestamps.rb +2 -2
  66. data/lib/mongoid/validations.rb +2 -2
  67. data/lib/mongoid/validations/associated.rb +2 -2
  68. data/lib/mongoid/validations/uniqueness.rb +13 -2
  69. data/lib/mongoid/version.rb +4 -0
  70. data/lib/mongoid/versioning.rb +3 -2
  71. data/lib/rails/generators/mongoid/config/config_generator.rb +41 -0
  72. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +24 -0
  73. data/lib/rails/generators/mongoid/model/model_generator.rb +24 -0
  74. data/lib/rails/generators/mongoid/model/templates/model.rb +15 -0
  75. data/lib/rails/generators/mongoid_generator.rb +61 -0
  76. metadata +76 -301
  77. data/.gitignore +0 -6
  78. data/.watchr +0 -29
  79. data/Rakefile +0 -52
  80. data/VERSION +0 -1
  81. data/caliper.yml +0 -4
  82. data/lib/mongoid/collections/mimic.rb +0 -46
  83. data/lib/mongoid/commands.rb +0 -161
  84. data/lib/mongoid/commands/create.rb +0 -19
  85. data/lib/mongoid/commands/delete.rb +0 -16
  86. data/lib/mongoid/commands/delete_all.rb +0 -23
  87. data/lib/mongoid/commands/deletion.rb +0 -18
  88. data/lib/mongoid/commands/destroy.rb +0 -17
  89. data/lib/mongoid/commands/destroy_all.rb +0 -23
  90. data/lib/mongoid/commands/save.rb +0 -29
  91. data/lib/mongoid/extensions/time/conversions.rb +0 -18
  92. data/mongoid.gemspec +0 -408
  93. data/perf/benchmark.rb +0 -77
  94. data/spec/integration/mongoid/associations_spec.rb +0 -340
  95. data/spec/integration/mongoid/attributes_spec.rb +0 -22
  96. data/spec/integration/mongoid/commands_spec.rb +0 -227
  97. data/spec/integration/mongoid/contexts/enumerable_spec.rb +0 -33
  98. data/spec/integration/mongoid/criteria_spec.rb +0 -272
  99. data/spec/integration/mongoid/document_spec.rb +0 -650
  100. data/spec/integration/mongoid/extensions_spec.rb +0 -22
  101. data/spec/integration/mongoid/finders_spec.rb +0 -119
  102. data/spec/integration/mongoid/inheritance_spec.rb +0 -137
  103. data/spec/integration/mongoid/named_scope_spec.rb +0 -46
  104. data/spec/models/address.rb +0 -39
  105. data/spec/models/animal.rb +0 -6
  106. data/spec/models/callbacks.rb +0 -18
  107. data/spec/models/comment.rb +0 -8
  108. data/spec/models/country_code.rb +0 -6
  109. data/spec/models/employer.rb +0 -5
  110. data/spec/models/game.rb +0 -7
  111. data/spec/models/inheritance.rb +0 -56
  112. data/spec/models/location.rb +0 -5
  113. data/spec/models/mixed_drink.rb +0 -4
  114. data/spec/models/name.rb +0 -13
  115. data/spec/models/namespacing.rb +0 -11
  116. data/spec/models/patient.rb +0 -4
  117. data/spec/models/person.rb +0 -99
  118. data/spec/models/pet.rb +0 -7
  119. data/spec/models/pet_owner.rb +0 -6
  120. data/spec/models/phone.rb +0 -7
  121. data/spec/models/post.rb +0 -15
  122. data/spec/models/translation.rb +0 -5
  123. data/spec/models/vet_visit.rb +0 -5
  124. data/spec/spec.opts +0 -3
  125. data/spec/spec_helper.rb +0 -31
  126. data/spec/unit/mongoid/associations/belongs_to_related_spec.rb +0 -145
  127. data/spec/unit/mongoid/associations/embed_many_spec.rb +0 -516
  128. data/spec/unit/mongoid/associations/embed_one_spec.rb +0 -282
  129. data/spec/unit/mongoid/associations/embedded_in_spec.rb +0 -193
  130. data/spec/unit/mongoid/associations/has_many_related_spec.rb +0 -418
  131. data/spec/unit/mongoid/associations/has_one_related_spec.rb +0 -179
  132. data/spec/unit/mongoid/associations/meta_data_spec.rb +0 -88
  133. data/spec/unit/mongoid/associations/options_spec.rb +0 -192
  134. data/spec/unit/mongoid/associations_spec.rb +0 -595
  135. data/spec/unit/mongoid/attributes_spec.rb +0 -507
  136. data/spec/unit/mongoid/callbacks_spec.rb +0 -55
  137. data/spec/unit/mongoid/collection_spec.rb +0 -187
  138. data/spec/unit/mongoid/collections/cyclic_iterator_spec.rb +0 -75
  139. data/spec/unit/mongoid/collections/master_spec.rb +0 -41
  140. data/spec/unit/mongoid/collections/mimic_spec.rb +0 -43
  141. data/spec/unit/mongoid/collections/slaves_spec.rb +0 -81
  142. data/spec/unit/mongoid/commands/create_spec.rb +0 -31
  143. data/spec/unit/mongoid/commands/delete_all_spec.rb +0 -58
  144. data/spec/unit/mongoid/commands/delete_spec.rb +0 -38
  145. data/spec/unit/mongoid/commands/destroy_all_spec.rb +0 -21
  146. data/spec/unit/mongoid/commands/destroy_spec.rb +0 -51
  147. data/spec/unit/mongoid/commands/save_spec.rb +0 -107
  148. data/spec/unit/mongoid/commands_spec.rb +0 -270
  149. data/spec/unit/mongoid/config_spec.rb +0 -172
  150. data/spec/unit/mongoid/contexts/enumerable_spec.rb +0 -421
  151. data/spec/unit/mongoid/contexts/mongo_spec.rb +0 -682
  152. data/spec/unit/mongoid/contexts_spec.rb +0 -25
  153. data/spec/unit/mongoid/criteria_spec.rb +0 -824
  154. data/spec/unit/mongoid/criterion/complex_spec.rb +0 -19
  155. data/spec/unit/mongoid/criterion/exclusion_spec.rb +0 -91
  156. data/spec/unit/mongoid/criterion/inclusion_spec.rb +0 -219
  157. data/spec/unit/mongoid/criterion/optional_spec.rb +0 -319
  158. data/spec/unit/mongoid/cursor_spec.rb +0 -74
  159. data/spec/unit/mongoid/deprecation_spec.rb +0 -24
  160. data/spec/unit/mongoid/document_spec.rb +0 -818
  161. data/spec/unit/mongoid/errors_spec.rb +0 -103
  162. data/spec/unit/mongoid/extensions/array/accessors_spec.rb +0 -50
  163. data/spec/unit/mongoid/extensions/array/assimilation_spec.rb +0 -24
  164. data/spec/unit/mongoid/extensions/array/conversions_spec.rb +0 -35
  165. data/spec/unit/mongoid/extensions/array/parentization_spec.rb +0 -20
  166. data/spec/unit/mongoid/extensions/big_decimal/conversions_spec.rb +0 -22
  167. data/spec/unit/mongoid/extensions/binary/conversions_spec.rb +0 -22
  168. data/spec/unit/mongoid/extensions/boolean/conversions_spec.rb +0 -49
  169. data/spec/unit/mongoid/extensions/date/conversions_spec.rb +0 -102
  170. data/spec/unit/mongoid/extensions/datetime/conversions_spec.rb +0 -67
  171. data/spec/unit/mongoid/extensions/float/conversions_spec.rb +0 -61
  172. data/spec/unit/mongoid/extensions/hash/accessors_spec.rb +0 -184
  173. data/spec/unit/mongoid/extensions/hash/assimilation_spec.rb +0 -46
  174. data/spec/unit/mongoid/extensions/hash/conversions_spec.rb +0 -21
  175. data/spec/unit/mongoid/extensions/hash/criteria_helpers_spec.rb +0 -17
  176. data/spec/unit/mongoid/extensions/hash/scoping_spec.rb +0 -14
  177. data/spec/unit/mongoid/extensions/integer/conversions_spec.rb +0 -61
  178. data/spec/unit/mongoid/extensions/nil/assimilation_spec.rb +0 -24
  179. data/spec/unit/mongoid/extensions/object/conversions_spec.rb +0 -57
  180. data/spec/unit/mongoid/extensions/proc/scoping_spec.rb +0 -34
  181. data/spec/unit/mongoid/extensions/string/conversions_spec.rb +0 -17
  182. data/spec/unit/mongoid/extensions/string/inflections_spec.rb +0 -208
  183. data/spec/unit/mongoid/extensions/symbol/inflections_spec.rb +0 -91
  184. data/spec/unit/mongoid/extensions/time/conversions_spec.rb +0 -70
  185. data/spec/unit/mongoid/extras_spec.rb +0 -102
  186. data/spec/unit/mongoid/factory_spec.rb +0 -31
  187. data/spec/unit/mongoid/field_spec.rb +0 -143
  188. data/spec/unit/mongoid/fields_spec.rb +0 -181
  189. data/spec/unit/mongoid/finders_spec.rb +0 -404
  190. data/spec/unit/mongoid/identity_spec.rb +0 -109
  191. data/spec/unit/mongoid/indexes_spec.rb +0 -93
  192. data/spec/unit/mongoid/javascript_spec.rb +0 -48
  193. data/spec/unit/mongoid/matchers/all_spec.rb +0 -27
  194. data/spec/unit/mongoid/matchers/default_spec.rb +0 -27
  195. data/spec/unit/mongoid/matchers/exists_spec.rb +0 -56
  196. data/spec/unit/mongoid/matchers/gt_spec.rb +0 -39
  197. data/spec/unit/mongoid/matchers/gte_spec.rb +0 -49
  198. data/spec/unit/mongoid/matchers/in_spec.rb +0 -27
  199. data/spec/unit/mongoid/matchers/lt_spec.rb +0 -39
  200. data/spec/unit/mongoid/matchers/lte_spec.rb +0 -49
  201. data/spec/unit/mongoid/matchers/ne_spec.rb +0 -27
  202. data/spec/unit/mongoid/matchers/nin_spec.rb +0 -27
  203. data/spec/unit/mongoid/matchers/size_spec.rb +0 -27
  204. data/spec/unit/mongoid/matchers_spec.rb +0 -329
  205. data/spec/unit/mongoid/memoization_spec.rb +0 -75
  206. data/spec/unit/mongoid/named_scope_spec.rb +0 -123
  207. data/spec/unit/mongoid/observable_spec.rb +0 -46
  208. data/spec/unit/mongoid/paths_spec.rb +0 -124
  209. data/spec/unit/mongoid/scope_spec.rb +0 -240
  210. data/spec/unit/mongoid/state_spec.rb +0 -83
  211. data/spec/unit/mongoid/timestamps_spec.rb +0 -25
  212. data/spec/unit/mongoid/validations/associated_spec.rb +0 -103
  213. data/spec/unit/mongoid/validations/uniqueness_spec.rb +0 -47
  214. data/spec/unit/mongoid/validations_spec.rb +0 -190
  215. data/spec/unit/mongoid/versioning_spec.rb +0 -41
  216. data/spec/unit/mongoid_spec.rb +0 -46
@@ -1,34 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extensions::Proc::Scoping do
4
-
5
- describe "#scoped" do
6
-
7
- context "when the proc accessed a hash" do
8
-
9
- before do
10
- @proc = lambda { |number| { :where => { :count => number } } }
11
- end
12
-
13
- it "calls the hash with the args" do
14
- @proc.scoped(10).should == { :where => { :count => 10 } }
15
- end
16
-
17
- end
18
-
19
- context "when the proc calls a criteria" do
20
-
21
- before do
22
- @proc = lambda { |title| Person.where(:title => title) }
23
- end
24
-
25
- it "returns the criteria scoped" do
26
- @proc.scoped("Sir").should ==
27
- { :where => { :title => "Sir" } }
28
- end
29
-
30
- end
31
-
32
- end
33
-
34
- end
@@ -1,17 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extensions::String::Conversions do
4
-
5
- describe "#set" do
6
- it "returns the object to_s" do
7
- String.set(1).should == "1"
8
- end
9
- end
10
-
11
- describe "#get" do
12
- it "returns the string" do
13
- String.get("test").should == "test"
14
- end
15
- end
16
-
17
- end
@@ -1,208 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extensions::String::Inflections do
4
-
5
- describe "#collectionize" do
6
-
7
- context "when class is namepaced" do
8
-
9
- it "returns an underscored tableized name" do
10
- Medical::Patient.name.collectionize.should == "medical_patients"
11
- end
12
-
13
- end
14
-
15
- context "when class is not namespaced" do
16
-
17
- it "returns an underscored tableized name" do
18
- MixedDrink.name.collectionize.should == "mixed_drinks"
19
- end
20
-
21
- end
22
-
23
- end
24
-
25
- describe "#identify" do
26
-
27
- context "when parameterizing composite keys" do
28
-
29
- it "converts the string to all lowercase and dashed" do
30
- "A Midsummer Night's Dream".identify.should == "a-midsummer-night-quo-s-dream"
31
- end
32
-
33
- end
34
-
35
- context "when not parameterizing keys" do
36
-
37
- before do
38
- Mongoid.parameterize_keys = false
39
- end
40
-
41
- after do
42
- Mongoid.parameterize_keys = true
43
- end
44
-
45
- it "does nothing to the keys" do
46
- "A Midsummer Night's Dream".identify.should == "A Midsummer Night's Dream"
47
- end
48
- end
49
-
50
- end
51
-
52
- describe "#labelize" do
53
-
54
- it "returns the underscored name humanized" do
55
- MixedDrink.name.labelize.should == "Mixed drink"
56
- end
57
-
58
- end
59
-
60
- describe "#singular?" do
61
-
62
- context "when singular" do
63
-
64
- it "returns true" do
65
- "bat".singular?.should be_true
66
- end
67
-
68
- context "when string is added to inflections" do
69
-
70
- it "returns true" do
71
- "address".singular?.should be_true
72
- end
73
-
74
- end
75
-
76
- end
77
-
78
- context "when plural" do
79
-
80
- it "returns false" do
81
- "bats".singular?.should be_false
82
- end
83
-
84
- context "when string is added to inflections" do
85
-
86
- it "returns false" do
87
- "addresses".singular?.should be_false
88
- end
89
-
90
- end
91
-
92
- end
93
-
94
- end
95
-
96
- describe "plural?" do
97
-
98
- context "when singular" do
99
-
100
- it "returns false" do
101
- "bat".plural?.should be_false
102
- end
103
-
104
- context "when string is added to inflections" do
105
-
106
- it "returns false" do
107
- "address".plural?.should be_false
108
- end
109
-
110
- end
111
-
112
- end
113
-
114
- context "when plural" do
115
-
116
- it "returns true" do
117
- "bats".plural?.should be_true
118
- end
119
-
120
- context "when string is added to inflections" do
121
-
122
- it "returns true" do
123
- "addresses".plural?.should be_true
124
- end
125
-
126
- end
127
-
128
- end
129
-
130
- end
131
-
132
- describe "invert" do
133
-
134
- context "when asc" do
135
-
136
- it "returns desc" do
137
- "asc".invert.should == "desc"
138
- end
139
-
140
- end
141
-
142
- context "when ascending" do
143
-
144
- it "returns descending" do
145
- "ascending".invert.should == "descending"
146
- end
147
-
148
- end
149
-
150
- context "when desc" do
151
-
152
- it "returns asc" do
153
- "desc".invert.should == "asc"
154
- end
155
-
156
- end
157
-
158
- context "when descending" do
159
-
160
- it "returns ascending" do
161
- "descending".invert.should == "ascending"
162
- end
163
-
164
- end
165
-
166
- end
167
-
168
- describe "#reader" do
169
-
170
- context "when string is a reader" do
171
-
172
- it "returns self" do
173
- "attribute".reader.should == "attribute"
174
- end
175
-
176
- end
177
-
178
- context "when string is a writer" do
179
-
180
- it "returns the reader" do
181
- "attribute=".reader.should == "attribute"
182
- end
183
-
184
- end
185
-
186
- end
187
-
188
- describe "#writer?" do
189
-
190
- context "when string is a reader" do
191
-
192
- it "returns false" do
193
- "attribute".writer?.should be_false
194
- end
195
-
196
- end
197
-
198
- context "when string is a writer" do
199
-
200
- it "returns true" do
201
- "attribute=".writer?.should be_true
202
- end
203
-
204
- end
205
-
206
- end
207
-
208
- end
@@ -1,91 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extensions::Symbol::Inflections do
4
-
5
- describe "#singular?" do
6
-
7
- context "when singular" do
8
-
9
- it "returns true" do
10
- :bat.singular?.should be_true
11
- end
12
-
13
- end
14
-
15
- context "when plural" do
16
-
17
- it "returns false" do
18
- :bats.singular?.should be_false
19
- end
20
-
21
- end
22
-
23
- end
24
-
25
- describe "plural?" do
26
-
27
- context "when singular" do
28
-
29
- it "returns false" do
30
- :bat.plural?.should be_false
31
- end
32
-
33
- end
34
-
35
- context "when plural" do
36
-
37
- it "returns true" do
38
- :bats.plural?.should be_true
39
- end
40
-
41
- end
42
-
43
- end
44
-
45
- describe "invert" do
46
-
47
- context "when :asc" do
48
-
49
- it "returns :desc" do
50
- :asc.invert.should == :desc
51
- end
52
-
53
- end
54
-
55
- context "when :ascending" do
56
-
57
- it "returns :descending" do
58
- :ascending.invert.should == :descending
59
- end
60
-
61
- end
62
-
63
- context "when :desc" do
64
-
65
- it "returns :asc" do
66
- :desc.invert.should == :asc
67
- end
68
-
69
- end
70
-
71
- context "when :descending" do
72
-
73
- it "returns :ascending" do
74
- :descending.invert.should == :ascending
75
- end
76
-
77
- end
78
-
79
- end
80
-
81
- describe "#gt" do
82
-
83
- it 'returns :"foo $gt"' do
84
- ret = :foo.gt
85
- ret.key.should == :foo
86
- ret.operator.should == "gt"
87
- end
88
-
89
- end
90
-
91
- end
@@ -1,70 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extensions::Time::Conversions do
4
-
5
- before do
6
- Time.zone = "Canberra"
7
- @time = Time.local(1976, 11, 19)
8
- end
9
-
10
- after do
11
- Time.zone = nil
12
- end
13
-
14
- describe "#set" do
15
-
16
- context "when value is a string" do
17
-
18
- it "converts to a utc time" do
19
- Time.set(@time.to_s).utc_offset.should == 0
20
- end
21
-
22
- end
23
-
24
- context "when value is a time" do
25
-
26
- it "converts to a utc time" do
27
- Time.set(@time).utc_offset.should == 0
28
- end
29
-
30
- end
31
-
32
- context "when value is already a utc time" do
33
-
34
- it "returns the time" do
35
- Time.set(@time.utc).should == @time.utc
36
- end
37
-
38
- end
39
-
40
- context "when value is nil" do
41
-
42
- it "returns nil" do
43
- Time.set(nil).should be_nil
44
- end
45
-
46
- end
47
-
48
- end
49
-
50
- describe "#get" do
51
-
52
- context "when time is provided" do
53
-
54
- it "returns the local time" do
55
- Time.get(@time.dup.utc).utc_offset.should == @time.utc_offset
56
- end
57
-
58
- end
59
-
60
- context "when time is nil" do
61
-
62
- it "returns nil" do
63
- Time.get(nil).should be_nil
64
- end
65
-
66
- end
67
-
68
- end
69
-
70
- end
@@ -1,102 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Mongoid::Extras do
4
-
5
- before do
6
- @klass = Class.new do
7
- include Mongoid::Extras
8
- end
9
- end
10
-
11
- describe ".cache" do
12
-
13
- before do
14
- @klass.cache
15
- end
16
-
17
- it "sets the cached boolean on the class" do
18
- @klass.cached.should be_true
19
- end
20
-
21
- end
22
-
23
- describe ".cached?" do
24
-
25
- context "when the class is cached" do
26
-
27
- before do
28
- @klass.cache
29
- end
30
-
31
- it "returns true" do
32
- @klass.should be_cached
33
- end
34
- end
35
-
36
- context "when the class is not cached" do
37
-
38
- it "returns false" do
39
- @klass.should_not be_cached
40
- end
41
- end
42
-
43
- end
44
-
45
- describe "#cached?" do
46
-
47
- before do
48
- @klass.cache
49
- @doc = @klass.new
50
- end
51
-
52
- it "returns the class cached? value" do
53
- @doc.should be_cached
54
- end
55
- end
56
-
57
- describe ".enslave" do
58
-
59
- before do
60
- @klass.enslave
61
- end
62
-
63
- it "sets the enslaved boolean on the class" do
64
- @klass.enslaved.should be_true
65
- end
66
-
67
- end
68
-
69
- describe ".enslaved?" do
70
-
71
- context "when the class is enslaved" do
72
-
73
- before do
74
- @klass.enslave
75
- end
76
-
77
- it "returns true" do
78
- @klass.should be_enslaved
79
- end
80
- end
81
-
82
- context "when the class is not enslaved" do
83
-
84
- it "returns false" do
85
- @klass.should_not be_enslaved
86
- end
87
- end
88
-
89
- end
90
-
91
- describe "#enslaved?" do
92
-
93
- before do
94
- @klass.enslave
95
- @doc = @klass.new
96
- end
97
-
98
- it "returns the class enslaved? value" do
99
- @doc.should be_enslaved
100
- end
101
- end
102
- end