Sha256: c96db29d5237af3efb2e32b9f3cfdbb93dcff52a145a27d68869d1958412473f
Contents?: true
Size: 946 Bytes
Versions: 1
Compression:
Stored size: 946 Bytes
Contents
module Pears module Provider class Base attr_accessor :data def initialize(data, on_failure: :raise) @data = data end def has_key?(key) @data.has_key? key end def each(&block) @data.block(&:yield) end def [](key) @data[key] end def purge true end private def parse_yaml(yaml_string) yaml_data = YAML.load( yaml_string, permitted_classes: [ActiveSupport::HashWithIndifferentAccess, Hash] ) unless yaml_data.respond_to? :with_indifferent_access raise Pears::InvalidProviderData end yaml_data.with_indifferent_access rescue Psych::SyntaxError => e logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT) logger.warn "#{e.class} #{e.message}" raise Pears::InvalidProviderData end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pears-0.3.4 | lib/pears/provider/base.rb |