module DataSet::DataAccessor
Public Instance Methods
load_data_source()
click to toggle source
# File lib/data_set/data_accessor.rb, line 20 def load_data_source @data_contents = nil path = "#{data_path}/#{ENV['DATA_SET_FILE']}" if ENV['DATA_SET_FILE'] @data_contents = ::YAML.safe_load(ERB.new( File.read(path) ).result(binding)) end DataSet.load('default.yml') if @data_contents.nil? end
method_missing(*args) { |key| ... }
click to toggle source
Calls superclass method
# File lib/data_set/data_accessor.rb, line 5 def method_missing(*args, &block) load_data_source unless @data_contents key = args.first value = @data_contents[key.to_s] value = args[1] if value.nil? value = yield(key.to_s) if value.nil? && block super if value.nil? value = DataSet::DataElement.new(value) unless type_known?(value) value end
respond_to_missing?(*args)
click to toggle source
Calls superclass method
# File lib/data_set/data_accessor.rb, line 16 def respond_to_missing?(*args) super end
Private Instance Methods
type_known?(value)
click to toggle source
# File lib/data_set/data_accessor.rb, line 35 def type_known?(value) known_types = [String, Integer, TrueClass, FalseClass, Symbol, Float, Array] known_types.any? { |type| value.is_a?(type) } end