cascading-configuration-array 1.4.1 → 1.5.0

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 (19) hide show
  1. data/lib/cascading-configuration-array/CascadingConfiguration/Array/Interface.rb +58 -21
  2. data/lib/cascading-configuration-array/CascadingConfiguration/Array.rb +6 -21
  3. data/lib/cascading-configuration-array/{CascadingConfiguration → _private_/CascadingConfiguration/Array/CompositingArray}/LocalConfigurationArray.rb +27 -1
  4. data/lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/CompositingArray.rb +295 -0
  5. data/lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/Interface/GettersSetters.rb +246 -0
  6. data/lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/ModuleSupportMethods.rb +48 -0
  7. data/lib/cascading-configuration-array.rb +16 -23
  8. data/spec/CascadingConfiguration/Array_spec.rb +2 -3
  9. data/spec/{CascadingConfiguration → _private_/CascadingConfiguration/Array/CompositingArray}/LocalConfigurationArray_spec.rb +13 -13
  10. data/spec/_private_/CascadingConfiguration/Array/CompositingArray_spec.rb +569 -0
  11. metadata +10 -28
  12. data/lib/cascading-configuration-array/CascadingConfiguration/Array/AccessorDefinitionMethods.rb +0 -175
  13. data/lib/cascading-configuration-array/CascadingConfiguration/Array/Interface/Instance.rb +0 -22
  14. data/lib/cascading-configuration-array/CascadingConfiguration/CompositingArray/Instance.rb +0 -31
  15. data/lib/cascading-configuration-array/CascadingConfiguration/CompositingArray.rb +0 -215
  16. data/lib/cascading-configuration-array/CascadingConfiguration/_private_/CompositingArray.rb +0 -57
  17. data/lib/cascading-configuration-array/CascadingConfiguration/_private_/LocalConfigurationArray.rb +0 -26
  18. data/spec/CascadingConfiguration/Array/AccessorDefinitionMethods_spec.rb +0 -30
  19. data/spec/CascadingConfiguration/CompositingArray_spec.rb +0 -541
@@ -0,0 +1,569 @@
1
+
2
+ require_relative '../../../../lib/cascading-configuration-array.rb'
3
+
4
+ describe CascadingConfiguration::Array::CompositingArray do
5
+
6
+ #########
7
+ # []= #
8
+ #########
9
+
10
+ it 'can add elements' do
11
+
12
+ module CascadingConfiguration::Array::CompositingArray::CCAMock01
13
+ include CascadingConfiguration::Variable
14
+ end
15
+
16
+ module CascadingConfiguration::Array::CompositingArray::CIMock01A
17
+ include CascadingConfiguration::Array::CompositingArray::CCAMock01
18
+ end
19
+ module CascadingConfiguration::Array::CompositingArray::CIMock01B
20
+ include CascadingConfiguration::Array::CompositingArray::CIMock01A
21
+ end
22
+
23
+ ccv = CascadingConfiguration::Variable
24
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock01
25
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock01A
26
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock01B
27
+ configuration_name = :some_configuration
28
+
29
+ # Without super or sub composites
30
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
31
+ cascading_composite_array[ 0 ].should == nil
32
+ cascading_composite_array.local_cascading_array.should == [ ]
33
+ cascading_composite_array[ 0 ] = :some_setting
34
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
35
+ cascading_composite_array.should == [ :some_setting ]
36
+ cascading_composite_array[ 1 ] = :other_setting
37
+ cascading_composite_array.local_cascading_array.should == [ :other_setting, :some_setting ]
38
+ cascading_composite_array.should == [ :other_setting, :some_setting ]
39
+
40
+ # Super with a sub composite
41
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
42
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
43
+ sub_cascading_composite_array[ 0 ].should == :other_setting
44
+ sub_cascading_composite_array[ 1 ].should == :some_setting
45
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting ]
46
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
47
+ sub_cascading_composite_array[ 0 ] = :yet_another_setting
48
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
49
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
50
+ sub_cascading_composite_array[ 0 ] = :other_setting
51
+ sub_cascading_composite_array.local_cascading_array.should == [ :other_setting, :yet_another_setting ]
52
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
53
+
54
+ end
55
+
56
+ ########
57
+ # << #
58
+ ########
59
+
60
+ it 'can add elements' do
61
+
62
+ module CascadingConfiguration::Array::CompositingArray::CCAMock02
63
+ include CascadingConfiguration::Variable
64
+ end
65
+
66
+ module CascadingConfiguration::Array::CompositingArray::CIMock02A
67
+ include CascadingConfiguration::Array::CompositingArray::CCAMock02
68
+ end
69
+ module CascadingConfiguration::Array::CompositingArray::CIMock02B
70
+ include CascadingConfiguration::Array::CompositingArray::CIMock02A
71
+ end
72
+
73
+ ccv = CascadingConfiguration::Variable
74
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock02
75
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock02A
76
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock02B
77
+ configuration_name = :some_configuration
78
+
79
+ # Without super or sub composites
80
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
81
+ cascading_composite_array[ 0 ].should == nil
82
+ cascading_composite_array.local_cascading_array.should == [ ]
83
+ cascading_composite_array << :some_setting
84
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
85
+ cascading_composite_array.should == [ :some_setting ]
86
+ cascading_composite_array << :other_setting
87
+ cascading_composite_array.local_cascading_array.should == [ :other_setting, :some_setting ]
88
+ cascading_composite_array.should == [ :other_setting, :some_setting ]
89
+
90
+ # Super with a sub composite
91
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
92
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
93
+ sub_cascading_composite_array[ 0 ].should == :other_setting
94
+ sub_cascading_composite_array[ 1 ].should == :some_setting
95
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting ]
96
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
97
+ sub_cascading_composite_array << :yet_another_setting
98
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
99
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
100
+ sub_cascading_composite_array << :other_setting
101
+ sub_cascading_composite_array.local_cascading_array.should == [ :other_setting, :yet_another_setting ]
102
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
103
+
104
+ end
105
+
106
+ #######
107
+ # + #
108
+ #######
109
+
110
+ it 'can add elements' do
111
+
112
+ module CascadingConfiguration::Array::CompositingArray::CCAMock03
113
+ include CascadingConfiguration::Variable
114
+ end
115
+
116
+ module CascadingConfiguration::Array::CompositingArray::CIMock03A
117
+ include CascadingConfiguration::Array::CompositingArray::CCAMock03
118
+ end
119
+ module CascadingConfiguration::Array::CompositingArray::CIMock03B
120
+ include CascadingConfiguration::Array::CompositingArray::CIMock03A
121
+ end
122
+
123
+ ccv = CascadingConfiguration::Variable
124
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock03
125
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock03A
126
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock03B
127
+ configuration_name = :some_configuration
128
+
129
+ # Without super or sub composites
130
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
131
+ cascading_composite_array[ 0 ].should == nil
132
+ cascading_composite_array.local_cascading_array.should == [ ]
133
+ cascading_composite_array += :some_setting
134
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
135
+ cascading_composite_array.should == [ :some_setting ]
136
+ cascading_composite_array += :other_setting
137
+ cascading_composite_array.local_cascading_array.should == [ :other_setting, :some_setting ]
138
+ cascading_composite_array.should == [ :other_setting, :some_setting ]
139
+
140
+ # Super with a sub composite
141
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
142
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
143
+ sub_cascading_composite_array[ 0 ].should == :other_setting
144
+ sub_cascading_composite_array[ 1 ].should == :some_setting
145
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting ]
146
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
147
+ sub_cascading_composite_array += :yet_another_setting
148
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
149
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
150
+ sub_cascading_composite_array += :other_setting
151
+ sub_cascading_composite_array.local_cascading_array.should == [ :other_setting, :yet_another_setting ]
152
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
153
+
154
+ end
155
+
156
+ ############
157
+ # concat #
158
+ ############
159
+
160
+ it 'can add elements' do
161
+
162
+ module CascadingConfiguration::Array::CompositingArray::CCAMock04
163
+ include CascadingConfiguration::Variable
164
+ end
165
+
166
+ module CascadingConfiguration::Array::CompositingArray::CIMock04A
167
+ include CascadingConfiguration::Array::CompositingArray::CCAMock04
168
+ end
169
+ module CascadingConfiguration::Array::CompositingArray::CIMock04B
170
+ include CascadingConfiguration::Array::CompositingArray::CIMock04A
171
+ end
172
+
173
+ ccv = CascadingConfiguration::Variable
174
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock04
175
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock04A
176
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock04B
177
+ configuration_name = :some_configuration
178
+
179
+ # Without super or sub composites
180
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
181
+ cascading_composite_array[ 0 ].should == nil
182
+ cascading_composite_array.local_cascading_array.should == [ ]
183
+ cascading_composite_array.concat( [ :some_setting ] )
184
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
185
+ cascading_composite_array.should == [ :some_setting ]
186
+ cascading_composite_array.concat( :other_setting )
187
+ cascading_composite_array.local_cascading_array.should == [ :other_setting, :some_setting ]
188
+ cascading_composite_array.should == [ :other_setting, :some_setting ]
189
+
190
+ # Super with a sub composite
191
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
192
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
193
+ sub_cascading_composite_array[ 0 ].should == :other_setting
194
+ sub_cascading_composite_array[ 1 ].should == :some_setting
195
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting ]
196
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
197
+ sub_cascading_composite_array.concat( :yet_another_setting )
198
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
199
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
200
+ sub_cascading_composite_array.concat( :other_setting )
201
+ sub_cascading_composite_array.local_cascading_array.should == [ :other_setting, :yet_another_setting ]
202
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
203
+
204
+ end
205
+
206
+ ##########
207
+ # push #
208
+ ##########
209
+
210
+ it 'can add elements' do
211
+
212
+ module CascadingConfiguration::Array::CompositingArray::CCAMock05
213
+ include CascadingConfiguration::Variable
214
+ end
215
+
216
+ module CascadingConfiguration::Array::CompositingArray::CIMock05A
217
+ include CascadingConfiguration::Array::CompositingArray::CCAMock05
218
+ end
219
+ module CascadingConfiguration::Array::CompositingArray::CIMock05B
220
+ include CascadingConfiguration::Array::CompositingArray::CIMock05A
221
+ end
222
+
223
+ ccv = CascadingConfiguration::Variable
224
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock05
225
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock05A
226
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock05B
227
+ configuration_name = :some_configuration
228
+
229
+ # Without super or sub composites
230
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
231
+ cascading_composite_array[ 0 ].should == nil
232
+ cascading_composite_array.local_cascading_array.should == [ ]
233
+ cascading_composite_array.push( :some_setting )
234
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
235
+ cascading_composite_array.should == [ :some_setting ]
236
+ cascading_composite_array.push( :other_setting )
237
+ cascading_composite_array.local_cascading_array.should == [ :other_setting, :some_setting ]
238
+ cascading_composite_array.should == [ :other_setting, :some_setting ]
239
+
240
+ # Super with a sub composite
241
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
242
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
243
+ sub_cascading_composite_array[ 0 ].should == :other_setting
244
+ sub_cascading_composite_array[ 1 ].should == :some_setting
245
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting ]
246
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
247
+ sub_cascading_composite_array.push( :yet_another_setting )
248
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
249
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
250
+ sub_cascading_composite_array.push( :other_setting )
251
+ sub_cascading_composite_array.local_cascading_array.should == [ :other_setting, :yet_another_setting ]
252
+ sub_cascading_composite_array.should == [ :other_setting, :some_setting, :yet_another_setting ]
253
+
254
+ end
255
+
256
+ #######
257
+ # - #
258
+ #######
259
+
260
+ it 'can exclude elements' do
261
+
262
+ module CascadingConfiguration::Array::CompositingArray::CCAMock06
263
+ include CascadingConfiguration::Variable
264
+ end
265
+
266
+ module CascadingConfiguration::Array::CompositingArray::CIMock06A
267
+ include CascadingConfiguration::Array::CompositingArray::CCAMock06
268
+ end
269
+ module CascadingConfiguration::Array::CompositingArray::CIMock06B
270
+ include CascadingConfiguration::Array::CompositingArray::CIMock06A
271
+ end
272
+
273
+ ccv = CascadingConfiguration::Variable
274
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock06
275
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock06A
276
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock06B
277
+ configuration_name = :some_configuration
278
+
279
+ # Without super or sub composites
280
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
281
+ cascading_composite_array[ 0 ].should == nil
282
+ cascading_composite_array.local_cascading_array.should == [ ]
283
+ cascading_composite_array += :some_setting
284
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
285
+ cascading_composite_array.should == [ :some_setting ]
286
+ cascading_composite_array -= :some_setting
287
+ cascading_composite_array.local_cascading_array.should == [ ]
288
+ cascading_composite_array.should == [ ]
289
+ cascading_composite_array += :other_setting
290
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
291
+ cascading_composite_array.should == [ :other_setting ]
292
+
293
+ # Super with a sub composite
294
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
295
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
296
+ sub_cascading_composite_array.should == [ :other_setting ]
297
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
298
+ sub_cascading_composite_array += :yet_another_setting
299
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
300
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
301
+ sub_cascading_composite_array -= :other_setting
302
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
303
+ sub_cascading_composite_array.should == [ :yet_another_setting ]
304
+ cascading_composite_array.should == [ :other_setting ]
305
+
306
+ end
307
+
308
+ ############
309
+ # delete #
310
+ ############
311
+
312
+ it 'can exclude elements' do
313
+
314
+ module CascadingConfiguration::Array::CompositingArray::CCAMock07
315
+ include CascadingConfiguration::Variable
316
+ end
317
+
318
+ module CascadingConfiguration::Array::CompositingArray::CIMock07A
319
+ include CascadingConfiguration::Array::CompositingArray::CCAMock07
320
+ end
321
+ module CascadingConfiguration::Array::CompositingArray::CIMock07B
322
+ include CascadingConfiguration::Array::CompositingArray::CIMock07A
323
+ end
324
+
325
+ ccv = CascadingConfiguration::Variable
326
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock07
327
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock07A
328
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock07B
329
+ configuration_name = :some_configuration
330
+
331
+ # Without super or sub composites
332
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
333
+ cascading_composite_array[ 0 ].should == nil
334
+ cascading_composite_array.local_cascading_array.should == [ ]
335
+ cascading_composite_array += :some_setting
336
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
337
+ cascading_composite_array.should == [ :some_setting ]
338
+ cascading_composite_array.delete( :some_setting )
339
+ cascading_composite_array.local_cascading_array.should == [ ]
340
+ cascading_composite_array.should == [ ]
341
+ cascading_composite_array += :other_setting
342
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
343
+ cascading_composite_array.should == [ :other_setting ]
344
+
345
+ # Super with a sub composite
346
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
347
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
348
+ sub_cascading_composite_array.should == [ :other_setting ]
349
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
350
+ sub_cascading_composite_array += :yet_another_setting
351
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
352
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
353
+ sub_cascading_composite_array.delete( :other_setting )
354
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
355
+ sub_cascading_composite_array.should == [ :yet_another_setting ]
356
+ cascading_composite_array.should == [ :other_setting ]
357
+
358
+ end
359
+
360
+ #########
361
+ # pop #
362
+ #########
363
+
364
+ it 'can pop the final element' do
365
+
366
+ module CascadingConfiguration::Array::CompositingArray::CCAMock08
367
+ include CascadingConfiguration::Variable
368
+ end
369
+
370
+ module CascadingConfiguration::Array::CompositingArray::CIMock08A
371
+ include CascadingConfiguration::Array::CompositingArray::CCAMock08
372
+ end
373
+ module CascadingConfiguration::Array::CompositingArray::CIMock08B
374
+ include CascadingConfiguration::Array::CompositingArray::CIMock08A
375
+ end
376
+
377
+ ccv = CascadingConfiguration::Variable
378
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock08
379
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock08A
380
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock08B
381
+ configuration_name = :some_configuration
382
+
383
+ # Without super or sub composites
384
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
385
+ cascading_composite_array[ 0 ].should == nil
386
+ cascading_composite_array.local_cascading_array.should == [ ]
387
+ cascading_composite_array += :some_setting
388
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
389
+ cascading_composite_array.should == [ :some_setting ]
390
+ cascading_composite_array.pop.should == :some_setting
391
+ cascading_composite_array.local_cascading_array.should == [ ]
392
+ cascading_composite_array.should == [ ]
393
+ cascading_composite_array += :other_setting
394
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
395
+ cascading_composite_array.should == [ :other_setting ]
396
+
397
+ # Super with a sub composite
398
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
399
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
400
+ sub_cascading_composite_array.should == [ :other_setting ]
401
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
402
+ sub_cascading_composite_array += :yet_another_setting
403
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
404
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
405
+ sub_cascading_composite_array.pop.should == :yet_another_setting
406
+ sub_cascading_composite_array.local_cascading_array.should == []
407
+ sub_cascading_composite_array.should == [ :other_setting ]
408
+ cascading_composite_array.should == [ :other_setting ]
409
+
410
+ end
411
+
412
+ ###########
413
+ # shift #
414
+ ###########
415
+
416
+ it 'can shift the first element' do
417
+
418
+ module CascadingConfiguration::Array::CompositingArray::CCAMock09
419
+ include CascadingConfiguration::Variable
420
+ end
421
+
422
+ module CascadingConfiguration::Array::CompositingArray::CIMock09A
423
+ include CascadingConfiguration::Array::CompositingArray::CCAMock09
424
+ end
425
+ module CascadingConfiguration::Array::CompositingArray::CIMock09B
426
+ include CascadingConfiguration::Array::CompositingArray::CIMock09A
427
+ end
428
+
429
+ ccv = CascadingConfiguration::Variable
430
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock09
431
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock09A
432
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock09B
433
+ configuration_name = :some_configuration
434
+
435
+ # Without super or sub composites
436
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
437
+ cascading_composite_array[ 0 ].should == nil
438
+ cascading_composite_array.local_cascading_array.should == [ ]
439
+ cascading_composite_array += :some_setting
440
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
441
+ cascading_composite_array.should == [ :some_setting ]
442
+ cascading_composite_array.shift.should == :some_setting
443
+ cascading_composite_array.local_cascading_array.should == [ ]
444
+ cascading_composite_array.should == [ ]
445
+ cascading_composite_array += :other_setting
446
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
447
+ cascading_composite_array.should == [ :other_setting ]
448
+
449
+ # Super with a sub composite
450
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
451
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
452
+ sub_cascading_composite_array.should == [ :other_setting ]
453
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
454
+ sub_cascading_composite_array += :yet_another_setting
455
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
456
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
457
+ sub_cascading_composite_array.shift.should == :other_setting
458
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
459
+ sub_cascading_composite_array.should == [ :yet_another_setting ]
460
+ cascading_composite_array.should == [ :other_setting ]
461
+
462
+ end
463
+
464
+ ############
465
+ # slice! #
466
+ ############
467
+
468
+ it 'can slice elements' do
469
+
470
+ module CascadingConfiguration::Array::CompositingArray::CCAMock10
471
+ include CascadingConfiguration::Variable
472
+ end
473
+
474
+ module CascadingConfiguration::Array::CompositingArray::CIMock10A
475
+ include CascadingConfiguration::Array::CompositingArray::CCAMock10
476
+ end
477
+ module CascadingConfiguration::Array::CompositingArray::CIMock10B
478
+ include CascadingConfiguration::Array::CompositingArray::CIMock10A
479
+ end
480
+
481
+ ccv = CascadingConfiguration::Variable
482
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock10
483
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock10A
484
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock10B
485
+ configuration_name = :some_configuration
486
+
487
+ # Without super or sub composites
488
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
489
+ cascading_composite_array[ 0 ].should == nil
490
+ cascading_composite_array.local_cascading_array.should == [ ]
491
+ cascading_composite_array += :some_setting
492
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
493
+ cascading_composite_array.should == [ :some_setting ]
494
+ cascading_composite_array.slice!( 0, 1 ).should == [ :some_setting ]
495
+ cascading_composite_array.local_cascading_array.should == [ ]
496
+ cascading_composite_array.should == [ ]
497
+ cascading_composite_array += :other_setting
498
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
499
+ cascading_composite_array.should == [ :other_setting ]
500
+
501
+ # Super with a sub composite
502
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
503
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
504
+ sub_cascading_composite_array.should == [ :other_setting ]
505
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
506
+ sub_cascading_composite_array += :yet_another_setting
507
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
508
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
509
+ sub_cascading_composite_array.slice!( 0, 1 ).should == [ :other_setting ]
510
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
511
+ sub_cascading_composite_array.should == [ :yet_another_setting ]
512
+ cascading_composite_array.should == [ :other_setting ]
513
+
514
+ end
515
+
516
+ ###########
517
+ # clear #
518
+ ###########
519
+
520
+ it 'can clear, causing present elements to be excluded' do
521
+
522
+
523
+ module CascadingConfiguration::Array::CompositingArray::CCAMock09
524
+ include CascadingConfiguration::Variable
525
+ end
526
+
527
+ module CascadingConfiguration::Array::CompositingArray::CIMock09A
528
+ include CascadingConfiguration::Array::CompositingArray::CCAMock09
529
+ end
530
+ module CascadingConfiguration::Array::CompositingArray::CIMock09B
531
+ include CascadingConfiguration::Array::CompositingArray::CIMock09A
532
+ end
533
+
534
+ ccv = CascadingConfiguration::Variable
535
+ ccm_array = CascadingConfiguration::Array::CompositingArray::CCAMock09
536
+ configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock09A
537
+ sub_configuration_instance = CascadingConfiguration::Array::CompositingArray::CIMock09B
538
+ configuration_name = :some_configuration
539
+
540
+ # Without super or sub composites
541
+ cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( configuration_instance, configuration_name )
542
+ cascading_composite_array[ 0 ].should == nil
543
+ cascading_composite_array.local_cascading_array.should == [ ]
544
+ cascading_composite_array += :some_setting
545
+ cascading_composite_array.local_cascading_array.should == [ :some_setting ]
546
+ cascading_composite_array.should == [ :some_setting ]
547
+ cascading_composite_array.clear
548
+ cascading_composite_array.local_cascading_array.should == [ ]
549
+ cascading_composite_array.should == [ ]
550
+ cascading_composite_array += :other_setting
551
+ cascading_composite_array.local_cascading_array.should == [ :other_setting ]
552
+ cascading_composite_array.should == [ :other_setting ]
553
+
554
+ # Super with a sub composite
555
+ sub_cascading_composite_array = CascadingConfiguration::Array::CompositingArray.new( sub_configuration_instance, configuration_name )
556
+ sub_cascading_composite_array.instance_variable_get( :@super_composite_array ).should == cascading_composite_array
557
+ sub_cascading_composite_array.should == [ :other_setting ]
558
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
559
+ sub_cascading_composite_array += :yet_another_setting
560
+ sub_cascading_composite_array.local_cascading_array.should == [ :yet_another_setting ]
561
+ sub_cascading_composite_array.should == [ :other_setting, :yet_another_setting ]
562
+ sub_cascading_composite_array.clear
563
+ sub_cascading_composite_array.local_cascading_array.should == [ ]
564
+ sub_cascading_composite_array.should == [ ]
565
+ cascading_composite_array.should == [ :other_setting ]
566
+
567
+ end
568
+
569
+ end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cascading-configuration-array
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 4
8
- - 1
9
- version: 1.4.1
4
+ prerelease:
5
+ version: 1.5.0
10
6
  platform: ruby
11
7
  authors:
12
8
  - Asher
@@ -14,8 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-08-08 00:00:00 -04:00
18
- default_executable:
13
+ date: 2012-01-16 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: module-cluster
@@ -25,8 +20,6 @@ dependencies:
25
20
  requirements:
26
21
  - - ">="
27
22
  - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
23
  version: "0"
31
24
  type: :runtime
32
25
  version_requirements: *id001
@@ -38,8 +31,6 @@ dependencies:
38
31
  requirements:
39
32
  - - ">="
40
33
  - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
34
  version: "0"
44
35
  type: :runtime
45
36
  version_requirements: *id002
@@ -52,23 +43,18 @@ extensions: []
52
43
  extra_rdoc_files: []
53
44
 
54
45
  files:
55
- - lib/cascading-configuration-array/CascadingConfiguration/_private_/CompositingArray.rb
56
- - lib/cascading-configuration-array/CascadingConfiguration/_private_/LocalConfigurationArray.rb
57
- - lib/cascading-configuration-array/CascadingConfiguration/Array/AccessorDefinitionMethods.rb
58
- - lib/cascading-configuration-array/CascadingConfiguration/Array/Interface/Instance.rb
46
+ - lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/CompositingArray/LocalConfigurationArray.rb
47
+ - lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/CompositingArray.rb
48
+ - lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/Interface/GettersSetters.rb
49
+ - lib/cascading-configuration-array/_private_/CascadingConfiguration/Array/ModuleSupportMethods.rb
59
50
  - lib/cascading-configuration-array/CascadingConfiguration/Array/Interface.rb
60
51
  - lib/cascading-configuration-array/CascadingConfiguration/Array.rb
61
- - lib/cascading-configuration-array/CascadingConfiguration/CompositingArray/Instance.rb
62
- - lib/cascading-configuration-array/CascadingConfiguration/CompositingArray.rb
63
- - lib/cascading-configuration-array/CascadingConfiguration/LocalConfigurationArray.rb
64
52
  - lib/cascading-configuration-array.rb
65
- - spec/CascadingConfiguration/Array/AccessorDefinitionMethods_spec.rb
53
+ - spec/_private_/CascadingConfiguration/Array/CompositingArray/LocalConfigurationArray_spec.rb
54
+ - spec/_private_/CascadingConfiguration/Array/CompositingArray_spec.rb
66
55
  - spec/CascadingConfiguration/Array_spec.rb
67
- - spec/CascadingConfiguration/CompositingArray_spec.rb
68
- - spec/CascadingConfiguration/LocalConfigurationArray_spec.rb
69
56
  - README.md
70
57
  - README.rdoc
71
- has_rdoc: true
72
58
  homepage: http://rubygems.org/gems/cascading-configuration-array
73
59
  licenses: []
74
60
 
@@ -82,21 +68,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
68
  requirements:
83
69
  - - ">="
84
70
  - !ruby/object:Gem::Version
85
- segments:
86
- - 0
87
71
  version: "0"
88
72
  required_rubygems_version: !ruby/object:Gem::Requirement
89
73
  none: false
90
74
  requirements:
91
75
  - - ">="
92
76
  - !ruby/object:Gem::Version
93
- segments:
94
- - 0
95
77
  version: "0"
96
78
  requirements: []
97
79
 
98
80
  rubyforge_project: cascading-configuration-array
99
- rubygems_version: 1.3.7
81
+ rubygems_version: 1.8.10
100
82
  signing_key:
101
83
  specification_version: 3
102
84
  summary: Support package for cascading-configuration.