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 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
- Squire is your configuration squire thats bears your configuration for object, so you don't need to worry about bunch of settings.
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
@@ -1,6 +1,6 @@
1
1
  module Squire
2
2
  module Parser
3
- ##
3
+ ##
4
4
  # Creates parser based on provided +type+.
5
5
  def self.of(type)
6
6
  case type
@@ -2,7 +2,7 @@ module Squire
2
2
  module Parser
3
3
  module Hash
4
4
  def self.parse(source)
5
- source.deep_symbolize_keys
5
+ source
6
6
  end
7
7
  end
8
8
  end
@@ -4,7 +4,7 @@ module Squire
4
4
  module Parser
5
5
  module YAML
6
6
  def self.parse(path)
7
- ::YAML::load_file(path).deep_symbolize_keys
7
+ ::YAML::load_file(path)
8
8
  end
9
9
  end
10
10
  end
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Squire
2
- VERSION = '1.2.3'
2
+ VERSION = '1.2.4'
3
3
  end
@@ -35,5 +35,6 @@ describe Squire::Base do
35
35
  subject.squire.namespace :test
36
36
 
37
37
  subject.a.should eql(1)
38
+ subject.b.should eql(2)
38
39
  end
39
40
  end
@@ -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
- hash = subject.parse('a' => 1, 'b' => 2, 'nested' => { 'c' => 2})
7
+ source = { 'a' => 1, 'b' => 2, 'nested' => { 'c' => 2} }
8
8
 
9
- hash.should eql({
10
- a: 1,
11
- b: 2,
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: nil,
11
- development: {
12
- a: 1,
13
- nested: {
14
- b: 2
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', '~> 4.0.0'
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.3
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-08-31 00:00:00.000000000 Z
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: 4.0.0
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: 4.0.0
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.8.25
141
+ rubygems_version: 2.1.2
185
142
  signing_key:
186
- specification_version: 3
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: