confstruct 0.2.2 → 0.2.3

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.
data/README.md CHANGED
@@ -191,6 +191,7 @@ The pattern `add_$key!` can be used to add to or create an array.
191
191
  - <b>v0.2.0</b> - Add fallback value to HashWithStructAccess#lookup!, native support for Rails I18n.
192
192
  - <b>v0.2.1</b> - Initialize properly from a nested hash with string (non-symbol) keys
193
193
  - <b>v0.2.2</b> - Fix ArgumentError on #respond_to?(sym, true)
194
+ - <b>v0.2.3</b> - Don't evaluate Deferreds during #inspect
194
195
 
195
196
  ## Contributing to confstruct
196
197
 
@@ -4,5 +4,5 @@ module Confstruct
4
4
  autoload :HashWithStructAccess, 'confstruct/hash_with_struct_access'
5
5
  autoload :Configuration, 'confstruct/configuration'
6
6
 
7
- VERSION = '0.2.2'
7
+ VERSION = '0.2.3'
8
8
  end
@@ -2,7 +2,15 @@ require 'delegate'
2
2
  require 'confstruct/utils'
3
3
 
4
4
  module Confstruct
5
- class Deferred < Proc; end
5
+ class Deferred < Proc
6
+ def inspect(full=false)
7
+ if full
8
+ super
9
+ else
10
+ "(deferred)"
11
+ end
12
+ end
13
+ end
6
14
  def self.deferred &block; Deferred.new(&block); end
7
15
 
8
16
  def self.i18n key=nil, &block
@@ -128,7 +136,7 @@ module Confstruct
128
136
  end
129
137
 
130
138
  def inspect
131
- r = self.keys.collect { |k| "#{k.inspect}=>#{self[k].inspect}" }
139
+ r = self.keys.collect { |k| "#{k.inspect}=>#{self.fetch(k).inspect}" }
132
140
  "{#{r.compact.join(', ')}}"
133
141
  end
134
142
 
@@ -209,9 +209,9 @@ describe Confstruct::HashWithStructAccess do
209
209
  @hwsa.github.values.should include(@hash[:github][:url].reverse)
210
210
  end
211
211
 
212
- it "should evaluate deferreds when inspecting" do
212
+ it "should not evaluate deferreds when inspecting" do
213
213
  s = @hwsa.inspect
214
- s.should =~ %r[:reverse_url=>"tcurtsfnoc/nielkbm/moc.buhtig.www//:ptth"]
214
+ s.should =~ %r{:reverse_url=>\(deferred\)}
215
215
  s.should =~ %r[:regular_proc=>#<Proc:]
216
216
  end
217
217
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confstruct
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Klein
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-01 00:00:00 Z
18
+ date: 2012-05-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: active_support
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  requirements: []
173
173
 
174
174
  rubyforge_project:
175
- rubygems_version: 1.8.15
175
+ rubygems_version: 1.8.21
176
176
  signing_key:
177
177
  specification_version: 3
178
178
  summary: A simple, hash/struct-based configuration object