config_core 0.0.1 → 0.0.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.
- checksums.yaml +4 -4
- data/lib/config_core/scope.rb +11 -11
- data/lib/config_core/scopes_collection.rb +3 -3
- data/lib/config_core/version.rb +1 -1
- data/spec/config_core/scope_spec.rb +7 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09afea4b022ceed55075cfb2019ec9afc604f7b2
|
4
|
+
data.tar.gz: b9608ab5a8ab19ec64e8c855343d56b90ecda5e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf6e747e3c7ece233d26e9aa3c0c4fb226da12c2275e03a74f79f653366689eb4b215162f26cede711748faaf1f944a54d8461519ed6d6bb9a5a3226b69936c1
|
7
|
+
data.tar.gz: aa526941b37b1440369e110f3aff1bb5e7103c740a1dcd650d2442589c3cd8dde7e3ffd41fd9f29e9ad8093d37c8d63841cc1972317ac6725563d8527b726e1e
|
data/lib/config_core/scope.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module ConfigCore
|
2
|
-
|
2
|
+
class Scope
|
3
3
|
attr_reader :name
|
4
4
|
|
5
5
|
def initialize(name)
|
@@ -15,7 +15,7 @@ module ConfigCore
|
|
15
15
|
@parameters.has_key?(name)
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
18
|
+
def define(name, value, editable: true)
|
19
19
|
raise ParameterAlreadyExistsError if has_parameter?(name)
|
20
20
|
|
21
21
|
parameter = Parameter.new(name, value)
|
@@ -23,24 +23,24 @@ module ConfigCore
|
|
23
23
|
|
24
24
|
@parameters[name] = parameter
|
25
25
|
|
26
|
-
define_parameter_reader(name)
|
27
|
-
define_parameter_value_reader(name)
|
28
|
-
define_parameter_value_writer(name)
|
26
|
+
define_parameter_reader(name, parameter)
|
27
|
+
define_parameter_value_reader(name, parameter)
|
28
|
+
define_parameter_value_writer(name, parameter)
|
29
29
|
|
30
30
|
return parameter
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
34
|
-
def define_parameter_reader(name)
|
35
|
-
define_singleton_method(:"#{name}_parameter") {
|
34
|
+
def define_parameter_reader(name, parameter)
|
35
|
+
define_singleton_method(:"#{name}_parameter") { parameter }
|
36
36
|
end
|
37
37
|
|
38
|
-
def define_parameter_value_reader(name)
|
39
|
-
define_singleton_method(name) {
|
38
|
+
def define_parameter_value_reader(name, parameter)
|
39
|
+
define_singleton_method(name) { parameter.value }
|
40
40
|
end
|
41
41
|
|
42
|
-
def define_parameter_value_writer(name)
|
43
|
-
define_singleton_method(:"#{name}=") { |value|
|
42
|
+
def define_parameter_value_writer(name, parameter)
|
43
|
+
define_singleton_method(:"#{name}=") { |value| parameter.value = value }
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -23,14 +23,14 @@ module ConfigCore
|
|
23
23
|
yield(scope) if block_given?
|
24
24
|
@scopes[name] = scope
|
25
25
|
|
26
|
-
define_scope_reader(name)
|
26
|
+
define_scope_reader(name, scope)
|
27
27
|
|
28
28
|
return scope
|
29
29
|
end
|
30
30
|
|
31
31
|
private
|
32
|
-
def define_scope_reader(name)
|
33
|
-
define_singleton_method(name) {
|
32
|
+
def define_scope_reader(name, scope)
|
33
|
+
define_singleton_method(name) { scope }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
data/lib/config_core/version.rb
CHANGED
@@ -10,25 +10,25 @@ describe ConfigCore::Scope do
|
|
10
10
|
its(:name) { should be :core }
|
11
11
|
|
12
12
|
describe '#empty?' do
|
13
|
-
it { expect { scope.
|
13
|
+
it { expect { scope.define(:items_per_page, 10) }.to change { scope.empty? }.from(true).to(false) }
|
14
14
|
end
|
15
15
|
|
16
16
|
describe '#has_parameter?' do
|
17
|
-
it { expect { scope.
|
17
|
+
it { expect { scope.define(:items_per_page, 10) }.to change { scope.has_parameter?(:items_per_page) }.from(false).to(true) }
|
18
18
|
end
|
19
19
|
|
20
20
|
describe '#define_parameter' do
|
21
|
-
it { expect { scope.
|
21
|
+
it { expect { scope.define(:param, value) }.to change { scope.has_parameter?(:param) }.to(true) }
|
22
22
|
|
23
23
|
context 'when parameter already exists' do
|
24
|
-
before { scope.
|
24
|
+
before { scope.define(:param, value) }
|
25
25
|
|
26
|
-
it { expect { scope.
|
26
|
+
it { expect { scope.define(:param, value) }.to raise_error(ConfigCore::ParameterAlreadyExistsError) }
|
27
27
|
end
|
28
28
|
|
29
29
|
describe 'parameter/parameter value accessors' do
|
30
30
|
context 'when editable parameter' do
|
31
|
-
before { scope.
|
31
|
+
before { scope.define(:param, value) }
|
32
32
|
|
33
33
|
its(:param_parameter) { should be_a ConfigCore::Parameter }
|
34
34
|
its(:param) { should == value }
|
@@ -36,7 +36,7 @@ describe ConfigCore::Scope do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
context 'when uneditable parameter' do
|
39
|
-
before { scope.
|
39
|
+
before { scope.define(:param, value, editable: false) }
|
40
40
|
|
41
41
|
its(:param_parameter) { should be_a ConfigCore::Parameter }
|
42
42
|
its(:param) { should == value }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: config_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Melnick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|