Sha256: 95d63a987ac73b171a1eae8db15e2886c0b47e05d870e31cea42b8ac6c22d7af
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
require 'multi_json' require 'yaml' require 'nugrant/bag' module Nugrant module Helper module Bag def self.read(filepath, format, error_handler = nil) data = parse_data(filepath, format, error_handler) return Nugrant::Bag.new(data) end def self.parse_data(filepath, format, error_handler = nil) return if not File.exists?(filepath) begin File.open(filepath, "rb") do |file| parsing_method = "parse_#{format.to_s}" return send(parsing_method, file.read()) end rescue => error if error_handler # TODO: Implements error handler logic error_handler.handle("Could not parse the user #{format.to_s} parameters file '#{filepath}': #{error}") end end end def self.parse_json(input) JSON.parse(input) end def self.parse_yaml(input) YAML::ENGINE.yamler= 'syck' if defined?(YAML::ENGINE) YAML.load(input) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nugrant-2.0.0.dev2 | lib/nugrant/helper/bag.rb |