Class: Fukubukuro::ECMA::Core::Array
Instance Attribute Summary
Attributes inherited from Container
#original, #value
Instance Method Summary
collapse
Methods inherited from Container
bind_to_original, #inspect, inspect, #method_missing, #pretty_print, #value_inspect
Instance Method Details
#[](index) ⇒ Object
239
240
241
242
243
244
245
246
|
# File 'lib/amber/fukubukuro/ecma_core.rb', line 239
def [] index
case index
when Number
value[index.value]
else
raise ::ArgumentError, 'expected Number, got %p' % [index]
end
end
|
#[]=(index, object) ⇒ Object
248
249
250
251
252
253
254
255
|
# File 'lib/amber/fukubukuro/ecma_core.rb', line 248
def []= index, object
case index
when Number
value[index.value] = object
else
raise ::ArgumentError, 'expected Number, got %p' % [index]
end
end
|
#fuku_send(meth, *args) ⇒ Object
265
266
267
268
|
# File 'lib/amber/fukubukuro/ecma_core.rb', line 265
def fuku_send meth, *args
return send(meth, *args) if respond_to? meth
method_missing meth, *args
end
|
261
262
263
|
# File 'lib/amber/fukubukuro/ecma_core.rb', line 261
def length
Number.new value.size
end
|
257
258
259
|
# File 'lib/amber/fukubukuro/ecma_core.rb', line 257
def to_ruby
original.replace value.map { |item| item.is_a?(Container) ? item.to_ruby : item }
end
|