squire 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
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: