class Coinbase::Pro::APIObject

Response item abstract model

Public Class Methods

new(data) click to toggle source
Calls superclass method
# File lib/coinbase/pro/api_object.rb, line 5
def initialize(data)
  super
  update(data)
end

Public Instance Methods

format(var) click to toggle source
# File lib/coinbase/pro/api_object.rb, line 15
def format(var)
  return if var.nil?
  # Looks like a number or currency
  if var =~ /^.{0,1}\s*[0-9,]*\.{0,1}[0-9]*$/
    BigDecimal(var.gsub(/[^0-9\.\-]/, ''))
  else
    var
  end
end
method_missing(method, *args, &blk) click to toggle source
Calls superclass method
# File lib/coinbase/pro/api_object.rb, line 30
def method_missing(method, *args, &blk)
  format(self[method.to_s]) || super
end
respond_to_missing?(method, include_all = false) click to toggle source
Calls superclass method
# File lib/coinbase/pro/api_object.rb, line 34
def respond_to_missing?(method, include_all = false)
  self.key?(method.to_s) || super
end
size() click to toggle source

This is common enough that we should override the hash method

Calls superclass method
# File lib/coinbase/pro/api_object.rb, line 26
def size
  format(self['size']) || super
end
update(data) click to toggle source
# File lib/coinbase/pro/api_object.rb, line 10
def update(data)
  return if data.nil?
  data.each { |key, val| self[key] = val } if data.is_a?(Hash)
end