squire 1.2.3 → 1.2.4
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 +15 -0
- data/CHANGELOG.md +13 -0
- data/README.md +2 -3
- data/lib/squire.rb +1 -3
- data/lib/squire/parser.rb +1 -1
- data/lib/squire/parser/hash.rb +1 -1
- data/lib/squire/parser/yaml.rb +1 -1
- data/lib/squire/settings.rb +7 -5
- data/lib/squire/version.rb +1 -1
- data/spec/squire/base_spec.rb +1 -0
- data/spec/squire/parser/hash_spec.rb +4 -8
- data/spec/squire/parser/yaml_spec.rb +5 -5
- data/squire.gemspec +2 -3
- metadata +11 -54
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODI1YmM1YTE1MjgwYmM3MmNkMWUyNDI1Mzg1ZDAxMWRmYzJmODEzNQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZDQ3OTM0YWM5ZjkxMTM4NTBiZTdlYzkxY2ZlYjA2NzY5YWMwNjBjZA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Njk2ODAxM2RhYTU4OTc4YmUyODIxMzhjYWI4ODc3YTRmOTdhYjQ2NGI5ZmQ3
|
10
|
+
NzVmMTUxMWJmNTJmMDliMmYyNmMyYmE3NjU2Nzc2YmQ1YTI0YzBmODNmZmE0
|
11
|
+
YzI5OTE4YjgxNmQ1Yjk5NDhlOThjZmU4YWFkOTExZjNlNTY0OTc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZDg3ZTFiN2E5OTA2MWE0Zjg5NzkyM2M1M2U5MzEyZTA0MDgzOGVlYTFlOWRj
|
14
|
+
NGM0YzkxYzhmZTQ2N2QyMDcyMWRjNTRmZWVjNGUyYTgyNzJkNDA0M2Q3ODQ3
|
15
|
+
OGFkMWRjYThiODJhNTRmYzEyZDA3NjhlYzYzMDIwODk2NDBjOTA=
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
### 1.2.4
|
2
|
+
* Fix gemspec licence (#1)
|
3
|
+
* Use BasicObject as clean slate for Squire::Setting
|
4
|
+
* Drop pretty strict ActiveSupport dependency to 3.0.0 or higher.
|
5
|
+
|
6
|
+
*Samuel Molnár*
|
7
|
+
|
8
|
+
### 1.2.3
|
9
|
+
* Fix issue with existing methods. Consider using BasicObject as blank slate
|
10
|
+
for Squire::Settings.
|
11
|
+
|
12
|
+
*Samuel Molnár*
|
13
|
+
|
1
14
|
### 1.2.2
|
2
15
|
* Fix issue with existing methods in Settings.
|
3
16
|
* Add better accessor caching.
|
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# Squire
|
2
|
+
Squire handles your configuration per class/file by common config DSL and extensible source formats.
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
It's designed to support multiple formats (for now, Hash and YML) and replace [Settingslogic](https://github.com/binarylogic/settingslogic) that lacks some crutial features like default/base namespace or extensibility for another source formats.
|
4
|
+
It's designed to support multiple formats (for now, Hash and YAML) and replace [Settingslogic](https://github.com/binarylogic/settingslogic) that lacks some crutial features like default/base namespace or extensibility for another source formats.
|
6
5
|
|
7
6
|
|
8
7
|
## Installation
|
data/lib/squire.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'active_support/concern'
|
2
|
-
require 'active_support/core_ext/hash/keys'
|
3
|
-
# require 'active_support/core_ext/hash/deep_merge'
|
4
|
-
require 'squire/core_ext/hash/deep_merge'
|
5
2
|
require 'active_support/core_ext/hash/except'
|
3
|
+
require 'squire/core_ext/hash/deep_merge'
|
6
4
|
require 'squire/version'
|
7
5
|
require 'squire/exceptions'
|
8
6
|
require 'squire/parser/hash'
|
data/lib/squire/parser.rb
CHANGED
data/lib/squire/parser/hash.rb
CHANGED
data/lib/squire/parser/yaml.rb
CHANGED
data/lib/squire/settings.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module Squire
|
2
|
-
class Settings
|
2
|
+
class Settings < BasicObject
|
3
|
+
include ::Kernel
|
4
|
+
|
3
5
|
RESERVED = [:get_value, :set_value, :define_key_accessor, :to_hash]
|
4
6
|
|
5
7
|
##
|
@@ -7,9 +9,9 @@ module Squire
|
|
7
9
|
# For top level settings (usually namespace), the is no +parent+ or +path+ specified.
|
8
10
|
def initialize(path = nil, parent = nil)
|
9
11
|
@path = path
|
10
|
-
@table = Hash.new
|
12
|
+
@table = ::Hash.new
|
11
13
|
@parent = parent
|
12
|
-
@children = Array.new
|
14
|
+
@children = ::Array.new
|
13
15
|
end
|
14
16
|
|
15
17
|
##
|
@@ -103,7 +105,7 @@ module Squire
|
|
103
105
|
##
|
104
106
|
# Dumps settings as hash.
|
105
107
|
def to_hash
|
106
|
-
result = Hash.new
|
108
|
+
result = ::Hash.new
|
107
109
|
|
108
110
|
@table.each do |key, value|
|
109
111
|
if value.is_a? Settings
|
@@ -122,7 +124,7 @@ module Squire
|
|
122
124
|
result = Settings.new
|
123
125
|
|
124
126
|
hash.each_pair do |key, value|
|
125
|
-
if value.is_a? Hash
|
127
|
+
if value.is_a? ::Hash
|
126
128
|
value = from_hash(value, result)
|
127
129
|
end
|
128
130
|
|
data/lib/squire/version.rb
CHANGED
data/spec/squire/base_spec.rb
CHANGED
@@ -4,14 +4,10 @@ describe Squire::Parser::Hash do
|
|
4
4
|
subject { Squire::Parser::Hash }
|
5
5
|
|
6
6
|
it 'should parse source hash' do
|
7
|
-
|
7
|
+
source = { 'a' => 1, 'b' => 2, 'nested' => { 'c' => 2} }
|
8
8
|
|
9
|
-
hash.
|
10
|
-
|
11
|
-
|
12
|
-
nested: {
|
13
|
-
c: 2
|
14
|
-
}
|
15
|
-
})
|
9
|
+
hash = subject.parse(source)
|
10
|
+
|
11
|
+
hash.should eql(source)
|
16
12
|
end
|
17
13
|
end
|
@@ -7,11 +7,11 @@ describe Squire::Parser::YAML do
|
|
7
7
|
hash = subject.parse(fixture('basic.yml').path)
|
8
8
|
|
9
9
|
hash.should eql(
|
10
|
-
defaults
|
11
|
-
development
|
12
|
-
a
|
13
|
-
nested
|
14
|
-
b
|
10
|
+
'defaults' => nil,
|
11
|
+
'development' => {
|
12
|
+
'a' => 1,
|
13
|
+
'nested' => {
|
14
|
+
'b' => 2
|
15
15
|
}
|
16
16
|
}
|
17
17
|
)
|
data/squire.gemspec
CHANGED
@@ -11,18 +11,17 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.description = 'Your configuration squire.'
|
12
12
|
gem.summary = 'Squire handles your configuration per class/file by common config DSL and extensible source formats.'
|
13
13
|
gem.homepage = 'https://github.com/smolnar/squire'
|
14
|
+
gem.license = 'MIT'
|
14
15
|
|
15
16
|
gem.files = `git ls-files`.split($/)
|
16
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
19
|
gem.require_paths = ['lib']
|
19
20
|
|
20
|
-
gem.add_dependency 'activesupport', '
|
21
|
+
gem.add_dependency 'activesupport', '>= 3.0.0'
|
21
22
|
|
22
23
|
gem.add_development_dependency 'rspec', '~> 2.6'
|
23
24
|
gem.add_development_dependency 'pry'
|
24
|
-
gem.add_development_dependency 'pry-debugger'
|
25
25
|
gem.add_development_dependency 'fuubar'
|
26
26
|
gem.add_development_dependency 'settingslogic'
|
27
|
-
gem.add_development_dependency 'ruby-prof'
|
28
27
|
end
|
metadata
CHANGED
@@ -1,36 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Samuel Molnar
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 3.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 3.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,23 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: pry
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: pry-debugger
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
45
|
- - ! '>='
|
68
46
|
- !ruby/object:Gem::Version
|
@@ -70,7 +48,6 @@ dependencies:
|
|
70
48
|
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
52
|
- - ! '>='
|
76
53
|
- !ruby/object:Gem::Version
|
@@ -78,7 +55,6 @@ dependencies:
|
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: fuubar
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
59
|
- - ! '>='
|
84
60
|
- !ruby/object:Gem::Version
|
@@ -86,7 +62,6 @@ dependencies:
|
|
86
62
|
type: :development
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
66
|
- - ! '>='
|
92
67
|
- !ruby/object:Gem::Version
|
@@ -94,23 +69,6 @@ dependencies:
|
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: settingslogic
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: ruby-prof
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
72
|
requirements:
|
115
73
|
- - ! '>='
|
116
74
|
- !ruby/object:Gem::Version
|
@@ -118,7 +76,6 @@ dependencies:
|
|
118
76
|
type: :development
|
119
77
|
prerelease: false
|
120
78
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
79
|
requirements:
|
123
80
|
- - ! '>='
|
124
81
|
- !ruby/object:Gem::Version
|
@@ -162,28 +119,28 @@ files:
|
|
162
119
|
- squire.gemspec
|
163
120
|
- squire.png
|
164
121
|
homepage: https://github.com/smolnar/squire
|
165
|
-
licenses:
|
122
|
+
licenses:
|
123
|
+
- MIT
|
124
|
+
metadata: {}
|
166
125
|
post_install_message:
|
167
126
|
rdoc_options: []
|
168
127
|
require_paths:
|
169
128
|
- lib
|
170
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
130
|
requirements:
|
173
131
|
- - ! '>='
|
174
132
|
- !ruby/object:Gem::Version
|
175
133
|
version: '0'
|
176
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
135
|
requirements:
|
179
136
|
- - ! '>='
|
180
137
|
- !ruby/object:Gem::Version
|
181
138
|
version: '0'
|
182
139
|
requirements: []
|
183
140
|
rubyforge_project:
|
184
|
-
rubygems_version: 1.
|
141
|
+
rubygems_version: 2.1.2
|
185
142
|
signing_key:
|
186
|
-
specification_version:
|
143
|
+
specification_version: 4
|
187
144
|
summary: Squire handles your configuration per class/file by common config DSL and
|
188
145
|
extensible source formats.
|
189
146
|
test_files:
|