class Bitstamper::Models::Order
Constants
- BUY
- MAPPING
- SELL
Attributes
amount[RW]
currency_pair[RW]
datetime[RW]
error[RW]
event[RW]
id[RW]
message[RW]
order_type[RW]
price[RW]
type[RW]
Public Class Methods
new(hash)
click to toggle source
# File lib/bitstamper/models/order.rb, line 19 def initialize(hash) hash["type"] = hash["order_type"] if hash.fetch("type", nil).to_s.empty? && hash.has_key?("order_type") hash.each do |key, value| type = ::Bitstamper::Models::Order::MAPPING.fetch(key, nil) value = value && type ? ::Bitstamper::Utilities::convert_value(value, type) : value self.send("#{key}=", value) if self.respond_to?(key) end datetime = hash.fetch("datetime", nil)&.to_s if !datetime.to_s.empty? && datetime.include?("-") self.datetime = ::Bitstamper::Utilities::convert_value(datetime, :datetime) elsif !datetime.to_s.empty? && ::Bitstamper::Utilities.numeric?(datetime) self.datetime = ::Bitstamper::Utilities::convert_value(datetime, :time) end self.order_type = case self.type when ::Bitstamper::Models::Order::BUY then :buy when ::Bitstamper::Models::Order::SELL then :sell end end
parse(data)
click to toggle source
# File lib/bitstamper/models/order.rb, line 42 def self.parse(data) data&.collect { |item| ::Bitstamper::Models::Order.new(item) } end