configy 1.1.3 → 1.2.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: cad3e5071362f7bf41222f295875b0f0296e1338
4
+ data.tar.gz: 27ac81e1611bfb899d557b8a112905e561278584
5
+ SHA512:
6
+ metadata.gz: f5e36fcac0aa481581b95c3fd14c400cd3b229f48e13b069c6224c3ded1405cbc37bb25818d3624c459f398abea431c622d647d36b00d2b1bc2e9e48c3565b0e
7
+ data.tar.gz: 556b19dc22b238d5dbcf6d11f636c85a738b73bf35dc51547e0e0d1491ae1b5799b5da18c3c4113ebfa1f0e88438b584caefcd8d39f73ebc0a3189e43774c495
@@ -1,4 +1,10 @@
1
1
  rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - ree
2
+ - 1.9.3
3
+ - 2.1.0
4
+ gemfile:
5
+ - Gemfile
6
+ - gemfiles/hashie1_2.gemfile
7
+ - gemfiles/hashie2_1.gemfile
8
+ before_script:
9
+ - unset RACK_ENV
10
+ - unset RAILS_ENV
@@ -2,13 +2,17 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  configy (1.1.3)
5
- hashie (~> 1.2.0)
5
+ hashie (>= 1.2, < 3.0)
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
- hashie (1.2.0)
10
+ hashie (2.1.2)
11
+ json (1.8.1)
11
12
  minitest (2.5.1)
13
+ rake (10.3.2)
14
+ rdoc (4.1.1)
15
+ json (~> 1.4)
12
16
 
13
17
  PLATFORMS
14
18
  ruby
@@ -16,4 +20,6 @@ PLATFORMS
16
20
  DEPENDENCIES
17
21
  bundler (>= 1.0.0)
18
22
  configy!
19
- minitest
23
+ minitest (= 2.5.1)
24
+ rake
25
+ rdoc
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.2.0 (2014-08-04)
2
+
3
+ * Loosen version requirement for hashie
4
+
1
5
  ## 1.1.3 (2012-03-31)
2
6
 
3
7
  * Allow hash access from main config object
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "configy"
3
- s.version = "1.1.3"
3
+ s.version = "1.2.0"
4
4
 
5
- s.authors = [ "Gabe Varela", "Ben Marini", "Chip Miller", "Bram Swenson", "Jeremy Ruppel" ]
6
- s.date = "2012-03-18"
5
+ s.authors = [ "Gabe Varela", "Ben Marini", "Chip Miller", "Bram Swenson", "Jeremy Ruppel", 'Eric Holmes' ]
6
+ s.date = "2014-08-04"
7
7
  s.email = "bmarini@gmail.com"
8
8
  s.summary = "Simple yaml driven configuration gem"
9
9
  s.homepage = "http://github.com/bmarini/configy"
@@ -13,9 +13,11 @@ Gem::Specification.new do |s|
13
13
  s.require_path = 'lib'
14
14
 
15
15
  s.required_rubygems_version = ">= 1.3.6"
16
- s.add_runtime_dependency "hashie", "~> 1.2.0"
16
+ s.add_runtime_dependency "hashie", [">= 1.2", "< 3.0"]
17
17
  s.add_development_dependency "bundler", ">= 1.0.0"
18
- s.add_development_dependency "minitest"
18
+ s.add_development_dependency "minitest", "2.5.1"
19
+ s.add_development_dependency "rake"
20
+ s.add_development_dependency "rdoc"
19
21
 
20
22
  s.extra_rdoc_files = [
21
23
  "LICENSE",
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+ gemspec :path => '../'
3
+
4
+ gem 'hashie', '~> 1.2'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+ gemspec :path => '../'
3
+
4
+ gem 'hashie', '~> 2.1'
@@ -2,12 +2,13 @@ module Configy
2
2
  autoload :Base, 'configy/base'
3
3
  autoload :ConfigFile, 'configy/config_file'
4
4
  autoload :ConfigStore, 'configy/config_store'
5
+ autoload :StringInquirer, 'configy/string_inquirer'
5
6
 
6
7
  class ConfigyError < StandardError; end
7
8
  class ConfigParamNotFound < ConfigyError; end
8
9
 
9
10
  class << self
10
- attr_writer :load_path, :section, :cache_config
11
+ attr_writer :load_path, :cache_config
11
12
 
12
13
  def load_path
13
14
  if @load_path
@@ -24,13 +25,23 @@ module Configy
24
25
  end
25
26
 
26
27
  def section
27
- @section ||= ENV["CONFIGY_ENV"] || ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
28
+ @section ||= Configy::StringInquirer.new(section_string)
29
+ end
30
+
31
+ def section=( value )
32
+ @section = value.is_a?(String) ? Configy::StringInquirer.new(value) : value
28
33
  end
29
34
 
30
35
  def cache_config
31
36
  @cache_config = false if @cache_config.nil?
32
37
  @cache_config
33
38
  end
39
+
40
+ protected
41
+
42
+ def section_string
43
+ ENV["CONFIGY_ENV"] || ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
44
+ end
34
45
  end
35
46
 
36
47
  def self.camelize(phrase)
@@ -0,0 +1,12 @@
1
+ module Configy
2
+ class StringInquirer < String
3
+
4
+ def method_missing( method, *args, &blk )
5
+ if method.to_s[ -1 ] == '?'
6
+ self == method.to_s[ 0..-2 ]
7
+ else
8
+ super
9
+ end
10
+ end
11
+ end
12
+ end
@@ -31,4 +31,19 @@ describe "Configy.section" do
31
31
  Configy.section = "custom"
32
32
  Configy.section.must_equal "custom"
33
33
  end
34
+
35
+ describe "string inquiry" do
36
+ before do
37
+ Configy.section = nil
38
+ Configy.section.must_equal "development"
39
+ end
40
+
41
+ it "should be development?" do
42
+ Configy.section.development?.must_equal true
43
+ end
44
+
45
+ it "should not be staging?" do
46
+ Configy.section.staging?.must_equal false
47
+ end
48
+ end
34
49
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe Configy::StringInquirer do
4
+
5
+ before do
6
+ @subject = Configy::StringInquirer.new "foo"
7
+ end
8
+
9
+ it "should inherit from String" do
10
+ @subject.is_a?( String ).must_equal true
11
+ end
12
+
13
+ it "should == 'foo'" do
14
+ @subject.must_equal 'foo'
15
+ end
16
+
17
+ it "should be foo?" do
18
+ @subject.foo?.must_equal true
19
+ end
20
+
21
+ it "should not be bar?" do
22
+ @subject.bar?.must_equal false
23
+ end
24
+
25
+ it "should raise NoMethodError if not predicate" do
26
+ assert_raises NoMethodError do
27
+ @subject.foo
28
+ end
29
+ end
30
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gabe Varela
@@ -10,44 +9,88 @@ authors:
10
9
  - Chip Miller
11
10
  - Bram Swenson
12
11
  - Jeremy Ruppel
12
+ - Eric Holmes
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2012-03-18 00:00:00.000000000 Z
16
+ date: 2014-08-04 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: hashie
20
- requirement: &70283820015920 !ruby/object:Gem::Requirement
21
- none: false
20
+ requirement: !ruby/object:Gem::Requirement
22
21
  requirements:
23
- - - ~>
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: '1.2'
25
+ - - <
24
26
  - !ruby/object:Gem::Version
25
- version: 1.2.0
27
+ version: '3.0'
26
28
  type: :runtime
27
29
  prerelease: false
28
- version_requirements: *70283820015920
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '1.2'
35
+ - - <
36
+ - !ruby/object:Gem::Version
37
+ version: '3.0'
29
38
  - !ruby/object:Gem::Dependency
30
39
  name: bundler
31
- requirement: &70283820015460 !ruby/object:Gem::Requirement
32
- none: false
40
+ requirement: !ruby/object:Gem::Requirement
33
41
  requirements:
34
42
  - - ! '>='
35
43
  - !ruby/object:Gem::Version
36
44
  version: 1.0.0
37
45
  type: :development
38
46
  prerelease: false
39
- version_requirements: *70283820015460
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ! '>='
50
+ - !ruby/object:Gem::Version
51
+ version: 1.0.0
40
52
  - !ruby/object:Gem::Dependency
41
53
  name: minitest
42
- requirement: &70283820015080 !ruby/object:Gem::Requirement
43
- none: false
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - '='
57
+ - !ruby/object:Gem::Version
58
+ version: 2.5.1
59
+ type: :development
60
+ prerelease: false
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - '='
64
+ - !ruby/object:Gem::Version
65
+ version: 2.5.1
66
+ - !ruby/object:Gem::Dependency
67
+ name: rake
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ type: :development
74
+ prerelease: false
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: rdoc
82
+ requirement: !ruby/object:Gem::Requirement
44
83
  requirements:
45
84
  - - ! '>='
46
85
  - !ruby/object:Gem::Version
47
86
  version: '0'
48
87
  type: :development
49
88
  prerelease: false
50
- version_requirements: *70283820015080
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
51
94
  description:
52
95
  email: bmarini@gmail.com
53
96
  executables: []
@@ -65,10 +108,13 @@ files:
65
108
  - README.md
66
109
  - Rakefile
67
110
  - configy.gemspec
111
+ - gemfiles/hashie1_2.gemfile
112
+ - gemfiles/hashie2_1.gemfile
68
113
  - lib/configy.rb
69
114
  - lib/configy/base.rb
70
115
  - lib/configy/config_file.rb
71
116
  - lib/configy/config_store.rb
117
+ - lib/configy/string_inquirer.rb
72
118
  - lib/generators/configy/install/install_generator.rb
73
119
  - lib/generators/configy/install/templates/config/app_config.local.yml.tt
74
120
  - lib/generators/configy/install/templates/config/app_config.yml.tt
@@ -83,29 +129,29 @@ files:
83
129
  - spec/scratch/.gitkeep
84
130
  - spec/section_spec.rb
85
131
  - spec/spec_helper.rb
132
+ - spec/string_inquirer_spec.rb
86
133
  homepage: http://github.com/bmarini/configy
87
134
  licenses: []
135
+ metadata: {}
88
136
  post_install_message:
89
137
  rdoc_options:
90
138
  - --charset=UTF-8
91
139
  require_paths:
92
140
  - lib
93
141
  required_ruby_version: !ruby/object:Gem::Requirement
94
- none: false
95
142
  requirements:
96
143
  - - ! '>='
97
144
  - !ruby/object:Gem::Version
98
145
  version: '0'
99
146
  required_rubygems_version: !ruby/object:Gem::Requirement
100
- none: false
101
147
  requirements:
102
148
  - - ! '>='
103
149
  - !ruby/object:Gem::Version
104
150
  version: 1.3.6
105
151
  requirements: []
106
152
  rubyforge_project:
107
- rubygems_version: 1.8.11
153
+ rubygems_version: 2.2.2
108
154
  signing_key:
109
- specification_version: 3
155
+ specification_version: 4
110
156
  summary: Simple yaml driven configuration gem
111
157
  test_files: []