class PayPal::SDK::Core::API::DataTypes::ArrayWithBlock

Create Array with block.

Example

ary = ArrayWithBlock.new{|val| val.to_i }
ary.push("123") # [ 123 ]
ary.merge!(["1", "3"])  # [ 123, 1, 3 ]

Public Class Methods

new(&block) click to toggle source
Calls superclass method
# File lib/paypal-sdk/core/api/data_types/array_with_block.rb, line 10
def initialize(&block)
  @block   = block
  super()
end

Public Instance Methods

[](key) click to toggle source
Calls superclass method
# File lib/paypal-sdk/core/api/data_types/array_with_block.rb, line 15
def [](key)
  super(key) || send(:"[]=", key, nil)
end
[]=(key, value) click to toggle source
Calls superclass method
# File lib/paypal-sdk/core/api/data_types/array_with_block.rb, line 19
def []=(key, value)
  super(key, @block ? @block.call(value) : value)
end
merge!(array) click to toggle source
# File lib/paypal-sdk/core/api/data_types/array_with_block.rb, line 27
def merge!(array)
  if array.is_a? Array
    array.each do |object|
      push(object)
    end
  elsif array.is_a? Hash and array.keys.first.to_s =~ /^\d+$/
    array.each do |key, object|
      self[key.to_i] = object
    end
  else
    push(array)
  end
  self
end
push(value) click to toggle source
Calls superclass method
# File lib/paypal-sdk/core/api/data_types/array_with_block.rb, line 23
def push(value)
  super(@block ? @block.call(value) : value)
end