class AwesomeXmlDsl::DataSource

Public Class Methods

new(object:) click to toggle source
# File lib/awesome_xml_dsl/data_source.rb, line 5
def initialize(object:)
  @object = object
end

Public Instance Methods

can_read?(object, key) click to toggle source
# File lib/awesome_xml_dsl/data_source.rb, line 9
def can_read?(object, key)
  return object.key?(key) if object.respond_to?(:key?)

  object.respond_to?(key)
end
method_missing(m, *args, &block) click to toggle source
# File lib/awesome_xml_dsl/data_source.rb, line 21
def method_missing(m, *args, &block)
  return @data_source[m] if @data_source.is_a? Hash

  @data_source.send(m, *args, &block)
end
read(object, key) click to toggle source
# File lib/awesome_xml_dsl/data_source.rb, line 15
def read(object, key)
  return object[key] if object.is_a? Hash

  object.send key
end