structurebutcher 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/structurebutcher.rb +57 -25
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c19a6f6222074c12a8b3449d3c43b234cbeda1d
4
- data.tar.gz: eb32ced9e89b7004c0b12ca47623eef4c53b91c3
3
+ metadata.gz: 8de11b61a4cff11073f600d70e13e1166df5ce85
4
+ data.tar.gz: 41461e5a17c76349926ce05accae503b16cc6415
5
5
  SHA512:
6
- metadata.gz: 2061451fbf84041e4015890e9ace3ed7be0b8ad7f5bcf5c847e0eabca74261fe652f6ee2110c1ba9a069c195b34fd6e9675b6f6361bf452a780b4182891a711a
7
- data.tar.gz: 4465801209874f072243b3d72372588561736d73afcb8df97851da224eb621ebec9dd83dd8ef721a2aebd5c9234eefd80c10b826d26818a6d57842a5ae21f3f8
6
+ metadata.gz: bc1b1156c46e0ffcd9cfe568682f830aa3e5959f2b7cea466f7f3f9baf4b35cd02ad779ef39a568a879629630bc9514efd930f5debc272c51ead24d7fbfe4189
7
+ data.tar.gz: 16e70c42509b4c928433ac61afb873429d8d28236cd07bc7a27615330e97fdce4727bbdb6a0f0c27a0504760a652183238cac8ccde1c548cfb65e75a2e51c93c
@@ -64,9 +64,9 @@ class StructureButcher
64
64
 
65
65
  # make sure we work with hash
66
66
  # it does not make sense to work with anything else
67
- if not body.is_a?(Hash)
68
- body = Hash.new
69
- end
67
+ if not body.is_a?(Hash)
68
+ body = Hash.new
69
+ end
70
70
 
71
71
  butcher = StructureButcher.new
72
72
  part = butcher.implantate(body, slot, part)
@@ -81,9 +81,9 @@ class StructureButcher
81
81
 
82
82
  # make sure we work with hash
83
83
  # it does not make sense to work with anything else
84
- if not body.is_a?(Hash)
85
- body = Hash.new
86
- end
84
+ if not body.is_a?(Hash)
85
+ body = Hash.new
86
+ end
87
87
 
88
88
  butcher = StructureButcher.new
89
89
  butcher.implantate(body, slot, part_struct)
@@ -95,21 +95,25 @@ end
95
95
 
96
96
  class StructureButcher::Parser
97
97
  def load_structure(filename, format)
98
- case format
99
- when "json"
100
- return load_json(filename)
101
- when "yaml"
102
- return load_yaml(filename)
103
- when "properties"
104
- return load_properties(filename)
105
- when "javaprops"
106
- return load_properties(filename)
107
- when "hocon"
108
- return load_hocon(filename)
109
- when "base64"
110
- return load_base64(filename)
111
- else
112
- throw "Not implemented"
98
+ begin
99
+ case format
100
+ when "json"
101
+ return load_json(filename)
102
+ when "yaml"
103
+ return load_yaml(filename)
104
+ when "properties"
105
+ return load_properties(filename)
106
+ when "javaprops"
107
+ return load_properties(filename)
108
+ when "hocon"
109
+ return load_hocon(filename)
110
+ when "base64"
111
+ return load_base64(filename)
112
+ else
113
+ raise "Not implemented"
114
+ end
115
+ rescue Exception => e
116
+ abort(e.message)
113
117
  end
114
118
  end
115
119
 
@@ -132,19 +136,47 @@ class StructureButcher::Parser
132
136
 
133
137
  def load_json(filename)
134
138
  file = File.read(filename)
135
- return recursive_stringify_keys(JSON.parse(file))
139
+ result = nil
140
+ begin
141
+ result = recursive_stringify_keys(JSON.parse(file))
142
+ rescue
143
+ msg = "Error parsing '" + filename + "': " + $!.message
144
+ raise ArgumentError.new(msg)
145
+ end
146
+ return result
136
147
  end
137
148
 
138
149
  def load_yaml(filename)
139
- return recursive_stringify_keys(YAML.load_file(filename))
150
+ result = nil
151
+ begin
152
+ result = recursive_stringify_keys(YAML.load_file(filename))
153
+ rescue
154
+ msg = "Error parsing '" + filename + "': " + $!.message
155
+ raise AbortException.new(msg)
156
+ end
157
+ return result
140
158
  end
141
159
 
142
160
  def load_properties(filename)
143
- return recursive_stringify_keys(JavaProperties.load(filename))
161
+ result = nil
162
+ begin
163
+ result = recursive_stringify_keys(JavaProperties.load(filename))
164
+ rescue
165
+ msg = "Error parsing '" + filename + "': " + $!.message
166
+ raise AbortException.new(msg)
167
+ end
168
+ return result
144
169
  end
145
170
 
146
171
  def load_hocon(filename)
147
- return recursive_stringify_keys(Hocon.load(filename))
172
+ result = nil
173
+ begin
174
+ result = recursive_stringify_keys(Hocon.load(filename))
175
+ rescue
176
+ msg = "Error parsing '" + filename + "': " + $!.message
177
+ raise AbortException.new(msg)
178
+ end
179
+ return result
148
180
  end
149
181
 
150
182
  def load_base64(filename)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structurebutcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miroslav Tynovsky
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  requirements: []
81
81
  rubyforge_project:
82
- rubygems_version: 2.4.8
82
+ rubygems_version: 2.2.2
83
83
  signing_key:
84
84
  specification_version: 4
85
85
  summary: Config saver/restorer