cascading-configuration-hash 1.2.1 → 1.2.2
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/README.md
CHANGED
@@ -233,30 +233,6 @@ module SomeModule
|
|
233
233
|
end
|
234
234
|
```
|
235
235
|
|
236
|
-
### Hidden Configuration ###
|
237
|
-
|
238
|
-
#### :attr_hide ####
|
239
|
-
|
240
|
-
Coming soon.
|
241
|
-
|
242
|
-
```ruby
|
243
|
-
module SomeModule
|
244
|
-
|
245
|
-
include CascadingConfiguration
|
246
|
-
|
247
|
-
attr_configuration :some_array_setting
|
248
|
-
|
249
|
-
instance_variables.include?( :@some_array_setting ) # => true
|
250
|
-
|
251
|
-
attr_hide :some_array_setting
|
252
|
-
|
253
|
-
instance_variables.include?( :@some_array_setting ) # => false
|
254
|
-
|
255
|
-
end
|
256
|
-
```
|
257
|
-
|
258
|
-
Causes configuration variable to be stored in external context so that it is not included in instance variables.
|
259
|
-
|
260
236
|
# License #
|
261
237
|
|
262
238
|
(The MIT License)
|
@@ -10,7 +10,6 @@ class CascadingConfiguration::CompositingHash < Hash
|
|
10
10
|
def initialize( cascading_name, working_instance )
|
11
11
|
@cascading_name = cascading_name
|
12
12
|
@working_class = ( working_instance.is_a?( Module ) ? working_instance : working_instance.class )
|
13
|
-
@cascading_variable = @working_class.accessor_module_support.cascading_variable_name( @cascading_name )
|
14
13
|
@working_instance = working_instance
|
15
14
|
# if first ancestor can have a composite array, register self with it in case it gets updated in the future
|
16
15
|
if ( first_ancestor = @working_instance.first_ancestor ).respond_to?( :composite_hash_for_cascading_configuration )
|
@@ -35,6 +35,7 @@ module CascadingConfiguration::Hash
|
|
35
35
|
extend module_self
|
36
36
|
extend module_self::Interface
|
37
37
|
extend module_self::AccessorDefinitionMethods
|
38
|
+
extend CascadingConfiguration::Variable::Interface
|
38
39
|
extend CascadingConfiguration::Hash::ModuleInclusionExtensionSupport unless is_a?( Class )
|
39
40
|
end
|
40
41
|
end
|
@@ -48,6 +49,7 @@ module CascadingConfiguration::Hash
|
|
48
49
|
class_or_module.instance_eval do
|
49
50
|
extend module_self::Interface
|
50
51
|
extend module_self::AccessorDefinitionMethods
|
52
|
+
extend CascadingConfiguration::Variable::Interface
|
51
53
|
end
|
52
54
|
end
|
53
55
|
|
@@ -31,28 +31,33 @@ describe CascadingConfiguration::Hash do
|
|
31
31
|
self.configuration_setting[ :a_configuration ] = :some_value
|
32
32
|
configuration_setting.should == { :a_configuration => :some_value }
|
33
33
|
instance_methods.include?( :configuration_setting ).should == false
|
34
|
+
instance_variables.empty?.should == true
|
34
35
|
# => including modules and classes get nothing
|
35
36
|
module SubmoduleIncluding
|
36
37
|
include CascadingConfiguration::Hash::ConfigurationMockModuleExtended
|
37
38
|
instance_methods.include?( :configuration_setting ).should == false
|
38
39
|
respond_to?( :configuration_setting ).should == false
|
40
|
+
instance_variables.empty?.should == true
|
39
41
|
end
|
40
42
|
# => extending modules and classes get nothing
|
41
43
|
module SubmoduleExtending
|
42
44
|
extend CascadingConfiguration::Hash::ConfigurationMockModuleExtended
|
43
45
|
instance_methods.include?( :configuration_setting ).should == false
|
44
46
|
respond_to?( :configuration_setting ).should == false
|
47
|
+
instance_variables.empty?.should == true
|
45
48
|
end
|
46
49
|
# => instances of including and extending classes get nothing
|
47
50
|
class ClassIncluding
|
48
51
|
include CascadingConfiguration::Hash::ConfigurationMockModuleExtended
|
49
52
|
instance_methods.include?( :configuration_setting ).should == false
|
50
53
|
respond_to?( :configuration_setting ).should == false
|
54
|
+
instance_variables.empty?.should == true
|
51
55
|
end
|
52
56
|
class ClassExtending
|
53
57
|
extend CascadingConfiguration::Hash::ConfigurationMockModuleExtended
|
54
58
|
instance_methods.include?( :configuration_setting ).should == false
|
55
59
|
respond_to?( :configuration_setting ).should == false
|
60
|
+
instance_variables.empty?.should == true
|
56
61
|
end
|
57
62
|
end
|
58
63
|
|
@@ -67,6 +72,7 @@ describe CascadingConfiguration::Hash do
|
|
67
72
|
self.configuration_setting[ :a_configuration ] = :some_value
|
68
73
|
configuration_setting.should == { :a_configuration => :some_value }
|
69
74
|
instance_methods.include?( :configuration_setting ).should == true
|
75
|
+
instance_variables.empty?.should == true
|
70
76
|
# => including modules and classes get attr_configuration and configurations
|
71
77
|
module SubmoduleIncluding
|
72
78
|
include CascadingConfiguration::Hash::ConfigurationMockModuleIncluded
|
@@ -78,6 +84,7 @@ describe CascadingConfiguration::Hash do
|
|
78
84
|
:other_setting => :some_value }
|
79
85
|
configuration_setting.delete( :other_setting ).should == :some_value
|
80
86
|
configuration_setting.should == { :a_configuration => :some_value }
|
87
|
+
instance_variables.empty?.should == true
|
81
88
|
end
|
82
89
|
# => extending modules and classes get attr_configuration and configurations
|
83
90
|
module SubmoduleExtending
|
@@ -93,6 +100,7 @@ describe CascadingConfiguration::Hash do
|
|
93
100
|
configuration_setting.delete( :other_setting ).should == :some_value
|
94
101
|
configuration_setting.should == { :a_configuration => :some_value }
|
95
102
|
instance_methods.include?( :configuration_setting ).should == false
|
103
|
+
instance_variables.empty?.should == true
|
96
104
|
end
|
97
105
|
# => instances of including classes get configurations
|
98
106
|
class ClassIncluding
|
@@ -105,11 +113,13 @@ describe CascadingConfiguration::Hash do
|
|
105
113
|
:other_setting => :some_value }
|
106
114
|
configuration_setting.delete( :other_setting ).should == :some_value
|
107
115
|
configuration_setting.should == { :a_configuration => :some_value }
|
116
|
+
instance_variables.empty?.should == true
|
108
117
|
end
|
109
118
|
setting_class_including_instance = ClassIncluding.new
|
110
119
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == true
|
111
120
|
setting_class_including_instance.configuration_setting.should == { :a_configuration => :some_value }
|
112
121
|
setting_class_including_instance.configuration_setting.delete( :a_configuration )
|
122
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
113
123
|
class ClassExtending
|
114
124
|
extend CascadingConfiguration::Hash::ConfigurationMockModuleIncluded
|
115
125
|
respond_to?( :configuration_setting ).should == true
|
@@ -119,9 +129,11 @@ describe CascadingConfiguration::Hash do
|
|
119
129
|
:other_setting => :some_value }
|
120
130
|
configuration_setting.delete( :other_setting ).should == :some_value
|
121
131
|
configuration_setting.should == { :a_configuration => :some_value }
|
132
|
+
instance_variables.empty?.should == true
|
122
133
|
end
|
123
134
|
setting_class_including_instance = ClassExtending.new
|
124
135
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == false
|
136
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
125
137
|
end
|
126
138
|
|
127
139
|
class CascadingConfiguration::Hash::ConfigurationMockClass
|
@@ -132,6 +144,7 @@ describe CascadingConfiguration::Hash do
|
|
132
144
|
:other_setting => :some_value }
|
133
145
|
configuration_setting.delete( :other_setting ).should == :some_value
|
134
146
|
configuration_setting.should == { :a_configuration => :some_value }
|
147
|
+
instance_variables.empty?.should == true
|
135
148
|
end
|
136
149
|
|
137
150
|
object_instance_one = CascadingConfiguration::Hash::ConfigurationMockClass.new
|
@@ -139,12 +152,14 @@ describe CascadingConfiguration::Hash do
|
|
139
152
|
object_instance_one.configuration_setting[ :some_other_configuration ] = :some_value
|
140
153
|
object_instance_one.configuration_setting.should == { :a_configuration => :some_value,
|
141
154
|
:some_other_configuration => :some_value }
|
155
|
+
object_instance_one.instance_variables.empty?.should == true
|
142
156
|
|
143
157
|
class CascadingConfiguration::Hash::ConfigurationMockClassSub1 < CascadingConfiguration::Hash::ConfigurationMockClass
|
144
158
|
configuration_setting.should == { :a_configuration => :some_value }
|
145
159
|
self.configuration_setting[ :another_configuration ] = :some_value
|
146
160
|
configuration_setting.should == { :a_configuration => :some_value,
|
147
161
|
:another_configuration => :some_value }
|
162
|
+
instance_variables.empty?.should == true
|
148
163
|
end
|
149
164
|
|
150
165
|
object_instance_two = CascadingConfiguration::Hash::ConfigurationMockClassSub1.new
|
@@ -154,6 +169,7 @@ describe CascadingConfiguration::Hash do
|
|
154
169
|
object_instance_two.configuration_setting.should == { :a_configuration => :some_value,
|
155
170
|
:another_configuration => :some_value,
|
156
171
|
:some_other_configuration => :some_value }
|
172
|
+
object_instance_two.instance_variables.empty?.should == true
|
157
173
|
|
158
174
|
# change ancestor setting
|
159
175
|
CascadingConfiguration::Hash::ConfigurationMockClass.configuration_setting[ :a_yet_unused_configuration ] = :some_value
|
@@ -249,28 +265,33 @@ describe CascadingConfiguration::Hash do
|
|
249
265
|
self.configuration_setting[ :a_configuration ] = :some_value
|
250
266
|
configuration_setting.should == { :a_configuration => :some_value }
|
251
267
|
instance_methods.include?( :configuration_setting ).should == false
|
268
|
+
instance_variables.empty?.should == true
|
252
269
|
# => including modules and classes get nothing
|
253
270
|
module SubmoduleIncluding
|
254
271
|
include CascadingConfiguration::Hash::ClassConfigurationMockModuleExtended
|
255
272
|
instance_methods.include?( :configuration_setting ).should == false
|
256
273
|
respond_to?( :configuration_setting ).should == false
|
274
|
+
instance_variables.empty?.should == true
|
257
275
|
end
|
258
276
|
# => extending modules and classes get nothing
|
259
277
|
module SubmoduleExtending
|
260
278
|
extend CascadingConfiguration::Hash::ClassConfigurationMockModuleExtended
|
261
279
|
instance_methods.include?( :configuration_setting ).should == false
|
262
280
|
respond_to?( :configuration_setting ).should == false
|
281
|
+
instance_variables.empty?.should == true
|
263
282
|
end
|
264
283
|
# => instances of including and extending classes get nothing
|
265
284
|
class ClassIncluding
|
266
285
|
include CascadingConfiguration::Hash::ClassConfigurationMockModuleExtended
|
267
286
|
instance_methods.include?( :configuration_setting ).should == false
|
268
287
|
respond_to?( :configuration_setting ).should == false
|
288
|
+
instance_variables.empty?.should == true
|
269
289
|
end
|
270
290
|
class ClassExtending
|
271
291
|
extend CascadingConfiguration::Hash::ClassConfigurationMockModuleExtended
|
272
292
|
instance_methods.include?( :configuration_setting ).should == false
|
273
293
|
respond_to?( :configuration_setting ).should == false
|
294
|
+
instance_variables.empty?.should == true
|
274
295
|
end
|
275
296
|
end
|
276
297
|
|
@@ -285,6 +306,7 @@ describe CascadingConfiguration::Hash do
|
|
285
306
|
self.configuration_setting[ :a_configuration ] = :some_value
|
286
307
|
configuration_setting.should == { :a_configuration => :some_value }
|
287
308
|
instance_methods.include?( :configuration_setting ).should == false
|
309
|
+
instance_variables.empty?.should == true
|
288
310
|
# => including modules and classes get attr_configuration and configurations
|
289
311
|
module SubmoduleIncluding
|
290
312
|
include CascadingConfiguration::Hash::ClassConfigurationMockModuleIncluded
|
@@ -296,6 +318,7 @@ describe CascadingConfiguration::Hash do
|
|
296
318
|
:other_setting => :some_value }
|
297
319
|
configuration_setting.delete( :other_setting ).should == :some_value
|
298
320
|
configuration_setting.should == { :a_configuration => :some_value }
|
321
|
+
instance_variables.empty?.should == true
|
299
322
|
end
|
300
323
|
# => extending modules and classes get attr_configuration and configurations
|
301
324
|
module SubmoduleExtending
|
@@ -311,6 +334,7 @@ describe CascadingConfiguration::Hash do
|
|
311
334
|
configuration_setting.delete( :other_setting ).should == :some_value
|
312
335
|
configuration_setting.should == { :a_configuration => :some_value }
|
313
336
|
instance_methods.include?( :configuration_setting ).should == false
|
337
|
+
instance_variables.empty?.should == true
|
314
338
|
end
|
315
339
|
# => instances of including classes get configurations
|
316
340
|
class ClassIncluding
|
@@ -323,9 +347,11 @@ describe CascadingConfiguration::Hash do
|
|
323
347
|
:other_setting => :some_value }
|
324
348
|
configuration_setting.delete( :other_setting ).should == :some_value
|
325
349
|
configuration_setting.should == { :a_configuration => :some_value }
|
350
|
+
instance_variables.empty?.should == true
|
326
351
|
end
|
327
352
|
setting_class_including_instance = ClassIncluding.new
|
328
353
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == false
|
354
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
329
355
|
class ClassExtending
|
330
356
|
extend CascadingConfiguration::Hash::ClassConfigurationMockModuleIncluded
|
331
357
|
respond_to?( :configuration_setting ).should == true
|
@@ -336,9 +362,11 @@ describe CascadingConfiguration::Hash do
|
|
336
362
|
:other_setting => :some_value }
|
337
363
|
configuration_setting.delete( :other_setting ).should == :some_value
|
338
364
|
configuration_setting.should == { :a_configuration => :some_value }
|
365
|
+
instance_variables.empty?.should == true
|
339
366
|
end
|
340
367
|
setting_class_including_instance = ClassExtending.new
|
341
368
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == false
|
369
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
342
370
|
end
|
343
371
|
|
344
372
|
class CascadingConfiguration::Hash::ClassConfigurationMockClass
|
@@ -351,10 +379,12 @@ describe CascadingConfiguration::Hash do
|
|
351
379
|
:other_setting => :some_value }
|
352
380
|
configuration_setting.delete( :other_setting ).should == :some_value
|
353
381
|
configuration_setting.should == { :a_configuration => :some_value }
|
382
|
+
instance_variables.empty?.should == true
|
354
383
|
end
|
355
384
|
|
356
385
|
object_instance_one = CascadingConfiguration::Hash::ClassConfigurationMockClass.new
|
357
386
|
object_instance_one.respond_to?( :a_configuration ).should == false
|
387
|
+
object_instance_one.instance_variables.empty?.should == true
|
358
388
|
|
359
389
|
class CascadingConfiguration::Hash::ClassConfigurationMockClassSub1 < CascadingConfiguration::Hash::ClassConfigurationMockClass
|
360
390
|
respond_to?( :configuration_setting ).should == true
|
@@ -363,6 +393,7 @@ describe CascadingConfiguration::Hash do
|
|
363
393
|
self.configuration_setting[ :another_configuration ] = :some_value
|
364
394
|
configuration_setting.should == { :a_configuration => :some_value,
|
365
395
|
:another_configuration => :some_value }
|
396
|
+
instance_variables.empty?.should == true
|
366
397
|
end
|
367
398
|
|
368
399
|
object_instance_two = CascadingConfiguration::Hash::ClassConfigurationMockClassSub1.new
|
@@ -442,28 +473,33 @@ describe CascadingConfiguration::Hash do
|
|
442
473
|
self.configuration_setting[ :a_configuration ] = :some_value
|
443
474
|
configuration_setting.should == { :a_configuration => :some_value }
|
444
475
|
instance_methods.include?( :configuration_setting ).should == false
|
476
|
+
instance_variables.empty?.should == true
|
445
477
|
# => including modules and classes get nothing
|
446
478
|
module SubmoduleIncluding
|
447
479
|
include CascadingConfiguration::Hash::LocalConfigurationMockModuleExtended
|
448
480
|
instance_methods.include?( :configuration_setting ).should == false
|
449
481
|
respond_to?( :configuration_setting ).should == false
|
482
|
+
instance_variables.empty?.should == true
|
450
483
|
end
|
451
484
|
# => extending modules and classes get nothing
|
452
485
|
module SubmoduleExtending
|
453
486
|
extend CascadingConfiguration::Hash::LocalConfigurationMockModuleExtended
|
454
487
|
instance_methods.include?( :configuration_setting ).should == false
|
455
488
|
respond_to?( :configuration_setting ).should == false
|
489
|
+
instance_variables.empty?.should == true
|
456
490
|
end
|
457
491
|
# => instances of including and extending classes get nothing
|
458
492
|
class ClassIncluding
|
459
493
|
include CascadingConfiguration::Hash::LocalConfigurationMockModuleExtended
|
460
494
|
instance_methods.include?( :configuration_setting ).should == false
|
461
495
|
respond_to?( :configuration_setting ).should == false
|
496
|
+
instance_variables.empty?.should == true
|
462
497
|
end
|
463
498
|
class ClassExtending
|
464
499
|
extend CascadingConfiguration::Hash::LocalConfigurationMockModuleExtended
|
465
500
|
instance_methods.include?( :configuration_setting ).should == false
|
466
501
|
respond_to?( :configuration_setting ).should == false
|
502
|
+
instance_variables.empty?.should == true
|
467
503
|
end
|
468
504
|
end
|
469
505
|
|
@@ -478,11 +514,13 @@ describe CascadingConfiguration::Hash do
|
|
478
514
|
self.configuration_setting[ :a_configuration ] = :some_value
|
479
515
|
configuration_setting.should == { :a_configuration => :some_value }
|
480
516
|
instance_methods.include?( :configuration_setting ).should == false
|
517
|
+
instance_variables.empty?.should == true
|
481
518
|
# => including modules and classes get attr_configuration and configurations
|
482
519
|
module SubmoduleIncluding
|
483
520
|
include CascadingConfiguration::Hash::LocalConfigurationMockModuleIncluded
|
484
521
|
instance_methods.include?( :configuration_setting ).should == false
|
485
522
|
respond_to?( :configuration_setting ).should == false
|
523
|
+
instance_variables.empty?.should == true
|
486
524
|
end
|
487
525
|
# => extending modules and classes get attr_configuration and configurations
|
488
526
|
module SubmoduleExtending
|
@@ -492,40 +530,49 @@ describe CascadingConfiguration::Hash do
|
|
492
530
|
# - the rest of the ancestors will be the extending module's include chain
|
493
531
|
instance_methods.include?( :configuration_setting ).should == false
|
494
532
|
respond_to?( :configuration_setting ).should == false
|
533
|
+
instance_variables.empty?.should == true
|
495
534
|
end
|
496
535
|
# => instances of including classes get configurations
|
497
536
|
class ClassIncluding
|
498
537
|
include CascadingConfiguration::Hash::LocalConfigurationMockModuleIncluded
|
499
538
|
instance_methods.include?( :configuration_setting ).should == false
|
500
539
|
respond_to?( :configuration_setting ).should == false
|
540
|
+
instance_variables.empty?.should == true
|
501
541
|
end
|
502
542
|
setting_class_including_instance = ClassIncluding.new
|
503
543
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == false
|
544
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
504
545
|
class ClassExtending
|
505
546
|
extend CascadingConfiguration::Hash::LocalConfigurationMockModuleIncluded
|
506
547
|
instance_methods.include?( :configuration_setting ).should == false
|
507
548
|
respond_to?( :configuration_setting ).should == false
|
549
|
+
instance_variables.empty?.should == true
|
508
550
|
end
|
509
551
|
setting_class_including_instance = ClassExtending.new
|
510
552
|
setting_class_including_instance.respond_to?( :configuration_setting ).should == false
|
553
|
+
setting_class_including_instance.instance_variables.empty?.should == true
|
511
554
|
end
|
512
555
|
|
513
556
|
class CascadingConfiguration::Hash::LocalConfigurationMockClass
|
514
557
|
include CascadingConfiguration::Hash::LocalConfigurationMockModuleIncluded::SubmoduleIncluding
|
515
558
|
instance_methods.include?( :configuration_setting ).should == false
|
516
559
|
respond_to?( :configuration_setting ).should == false
|
560
|
+
instance_variables.empty?.should == true
|
517
561
|
end
|
518
562
|
|
519
563
|
object_instance_one = CascadingConfiguration::Hash::LocalConfigurationMockClass.new
|
520
564
|
object_instance_one.respond_to?( :a_configuration ).should == false
|
565
|
+
object_instance_one.instance_variables.empty?.should == true
|
521
566
|
|
522
567
|
class CascadingConfiguration::Hash::LocalConfigurationMockClassSub1 < CascadingConfiguration::Hash::LocalConfigurationMockClass
|
523
568
|
instance_methods.include?( :configuration_setting ).should == false
|
524
569
|
respond_to?( :configuration_setting ).should == false
|
570
|
+
instance_variables.empty?.should == true
|
525
571
|
end
|
526
572
|
|
527
573
|
object_instance_two = CascadingConfiguration::Hash::LocalConfigurationMockClassSub1.new
|
528
574
|
object_instance_two.respond_to?( :a_configuration ).should == false
|
575
|
+
object_instance_two.instance_variables.empty?.should == true
|
529
576
|
|
530
577
|
end
|
531
578
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 1.2.
|
8
|
+
- 2
|
9
|
+
version: 1.2.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Asher
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-07-
|
17
|
+
date: 2011-07-20 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|