Class: StructureButcher::Parser
- Inherits:
-
Object
- Object
- StructureButcher::Parser
- Defined in:
- lib/structurebutcher.rb
Instance Method Summary collapse
- #load_base64(filename) ⇒ Object
- #load_hocon(filename) ⇒ Object
- #load_json(filename) ⇒ Object
- #load_properties(filename) ⇒ Object
- #load_structure(filename, format) ⇒ Object
- #load_yaml(filename) ⇒ Object
- #recursive_stringify_keys(h) ⇒ Object
Instance Method Details
#load_base64(filename) ⇒ Object
195 196 197 198 |
# File 'lib/structurebutcher.rb', line 195 def load_base64(filename) content = File.read(filename) return Base64.encode64(content) end |
#load_hocon(filename) ⇒ Object
184 185 186 187 188 189 190 191 192 193 |
# File 'lib/structurebutcher.rb', line 184 def load_hocon(filename) result = nil begin result = recursive_stringify_keys(Hocon.load(filename)) rescue msg = "Error parsing '" + filename + "': " + $!. raise AbortException.new(msg) end return result end |
#load_json(filename) ⇒ Object
150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/structurebutcher.rb', line 150 def load_json(filename) file = File.read(filename) result = nil begin result = recursive_stringify_keys(JSON.parse(file)) rescue msg = "Error parsing '" + filename + "': " + $!. raise ArgumentError.new(msg) end return result end |
#load_properties(filename) ⇒ Object
173 174 175 176 177 178 179 180 181 182 |
# File 'lib/structurebutcher.rb', line 173 def load_properties(filename) result = nil begin result = recursive_stringify_keys(JavaProperties.load(filename)) rescue msg = "Error parsing '" + filename + "': " + $!. raise AbortException.new(msg) end return result end |
#load_structure(filename, format) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/structurebutcher.rb', line 110 def load_structure(filename, format) begin case format when "json" return load_json(filename) when "yaml" return load_yaml(filename) when "properties" return load_properties(filename) when "javaprops" return load_properties(filename) when "hocon" return load_hocon(filename) when "base64" return load_base64(filename) else raise "Not implemented" end rescue Exception => e abort(e.) end end |
#load_yaml(filename) ⇒ Object
162 163 164 165 166 167 168 169 170 171 |
# File 'lib/structurebutcher.rb', line 162 def load_yaml(filename) result = nil begin result = recursive_stringify_keys(YAML.load_file(filename)) rescue msg = "Error parsing '" + filename + "': " + $!. raise AbortException.new(msg) end return result end |
#recursive_stringify_keys(h) ⇒ Object
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/structurebutcher.rb', line 133 def recursive_stringify_keys(h) case h when Hash Hash[ h.map do |k, v| [ k.respond_to?(:to_s) ? k.to_s : k, recursive_stringify_keys(v) ] end ] when Enumerable h.map { |v| recursive_stringify_keys(v) } else h end end |