Sha256: 5bfe87d126a59f4fac478c399344441e2c4b61d525391dc38280b37369ab00d1
Contents?: true
Size: 934 Bytes
Versions: 6
Compression:
Stored size: 934 Bytes
Contents
require 'multi_json' require 'yaml' require 'nugrant/bag' module Nugrant module Helper module Bag def self.read(filepath, filetype, config) Nugrant::Bag.new(parse_data(filepath, filetype, config), config) end def self.restricted_keys() Nugrant::Bag.instance_methods() end private def self.parse_data(filepath, filetype, config) return if not File.exists?(filepath) File.open(filepath, "rb") do |file| return send("parse_#{filetype}", file) end rescue => error config.parse_error.call(filepath, error) end def self.parse_json(io) MultiJson.load(io.read()) end def self.parse_yaml(io) YAML::ENGINE.yamler = 'syck' if (defined?(Syck) || defined?(YAML::Syck)) && defined?(YAML::ENGINE) YAML.load(io.read()) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems