Class: AwesomeXmlDsl::DataSource
- Inherits:
-
Object
- Object
- AwesomeXmlDsl::DataSource
show all
- Defined in:
- lib/awesome_xml_dsl/data_source.rb
Instance Method Summary
collapse
Constructor Details
#initialize(object:) ⇒ DataSource
Returns a new instance of DataSource.
5
6
7
|
# File 'lib/awesome_xml_dsl/data_source.rb', line 5
def initialize(object:)
@object = object
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args, &block) ⇒ Object
21
22
23
24
25
|
# 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
|
Instance Method Details
#can_read?(object, key) ⇒ Boolean
9
10
11
12
13
|
# 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
|
#read(object, key) ⇒ Object
15
16
17
18
19
|
# 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
|