Class: DataBindings::Adapters::Native::NativeAdapter
- Inherits:
-
Object
- Object
- DataBindings::Adapters::Native::NativeAdapter
show all
- Includes:
- Unbound
- Defined in:
- lib/data_bindings/adapters/native.rb
Instance Attribute Summary
Attributes included from Unbound
#binding, #binding_name
Instance Method Summary
collapse
Methods included from Unbound
#array?, #bind, #bind!, #bind_array, #binding_class, #convert_target, #hash?, #to_native, #update_binding
Constructor Details
#initialize(generator, object) ⇒ NativeAdapter
Returns a new instance of NativeAdapter.
15
16
17
|
# File 'lib/data_bindings/adapters/native.rb', line 15
def initialize(generator, object)
@generator, @object = generator, object
end
|
Instance Method Details
#[](idx) ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/data_bindings/adapters/native.rb', line 27
def [](idx)
val = @object.respond_to?(:[]) ? @object[idx] : @object.send(idx)
if DataBindings.primitive_value?(val)
val
else
binding_class(NativeAdapter).new(@generator, val)
end
end
|
#[]=(idx, value) ⇒ Object
36
37
38
|
# File 'lib/data_bindings/adapters/native.rb', line 36
def []=(idx, value)
@object.respond_to?(:[]=) ? @object[idx] = value : @object.send("#{idx}=", value)
end
|
#key?(name) ⇒ Boolean
40
41
42
|
# File 'lib/data_bindings/adapters/native.rb', line 40
def key?(name)
@object.respond_to?(name)
end
|
#pre_convert ⇒ Object
19
20
21
|
# File 'lib/data_bindings/adapters/native.rb', line 19
def pre_convert
raise DataBindings::UnboundError unless @name
end
|
#to_hash ⇒ Object
44
45
46
|
# File 'lib/data_bindings/adapters/native.rb', line 44
def to_hash
raise UnboundError
end
|
#type ⇒ Object
23
24
25
|
# File 'lib/data_bindings/adapters/native.rb', line 23
def type
@object.is_a?(Array) ? :array : :hash
end
|