fun_with_configurations 0.0.3 → 0.0.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -92,43 +92,62 @@ module FunWith
92
92
  end
93
93
 
94
94
  def try( *keys )
95
- t = TryObject.new( self )
96
-
97
- for key in keys
98
- t[key]
95
+ (t = TryObject.new( self )).tap do
96
+ for key in keys
97
+ t[key]
98
+ end
99
99
  end
100
-
101
- t
102
100
  end
103
101
 
104
102
  def to_ruby_code( indent = 0 )
105
- code = ""
106
- if indent == 0
107
- code << "FunWith::Configurations::Config.new do\n"
108
- code << self.to_ruby_code( 2 )
109
- code << "end\n"
103
+ (code = "").tap do
104
+ if indent == 0
105
+ code << "FunWith::Configurations::Config.new do\n"
106
+ code << self.to_ruby_code( 2 )
107
+ code << "end\n"
108
+ else
109
+ for k, v in @config_vars
110
+ if v.is_a?( Config )
111
+ code << (" " * indent) + "#{k} do\n"
112
+ code << v.to_ruby_code( indent + 2 )
113
+ code << (" " * indent) + "end\n"
114
+ else
115
+ code << (" " * indent) + "#{k} #{v.inspect}\n"
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
121
+
122
+ def each( *args, &block )
123
+ @config_vars.each( *args, &block )
124
+ end
125
+
126
+ def to_s( style = :hash )
127
+ case style
128
+ when :hash
129
+ self.to_hash.inspect
130
+ when :ruby
131
+ self.to_ruby_code
110
132
  else
133
+ super
134
+ end
135
+ end
136
+
137
+ def to_hash
138
+ (hash = {}).tap do
111
139
  for k, v in @config_vars
112
- if v.is_a?( Config )
113
- code << (" " * indent) + "#{k} do\n"
114
- code << v.to_ruby_code( indent + 2 )
115
- code << (" " * indent) + "end\n"
116
- else
117
- code << (" " * indent) + "#{k} #{v.inspect}\n"
118
- end
140
+ hash[k] = v.is_a?(Config) ? v.to_hash : v
119
141
  end
120
142
  end
121
-
122
- code
123
143
  end
124
144
 
125
145
  def self.from_hash( hash )
126
- config = self.new
127
-
128
- for k, v in hash
129
- config.send( k, v.is_a?( Hash ) ? self.from_hash( v ) : v )
146
+ (config = self.new).tap do
147
+ for k, v in hash
148
+ config.send( k, v.is_a?( Hash ) ? self.from_hash( v ) : v )
149
+ end
130
150
  end
131
-
132
151
  config
133
152
  end
134
153
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fun_with_configurations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-01 00:00:00.000000000 Z
12
+ date: 2013-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fun_with_files
@@ -144,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  segments:
146
146
  - 0
147
- hash: -296390958680094426
147
+ hash: -502379231947070580
148
148
  required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements: