class Xmrto::Transfer

Attributes

state[RW]
uuid[RW]

Public Class Methods

create(btc_address, btc_amount) click to toggle source
# File lib/xmrto/transfer.rb, line 16
def self.create(btc_address, btc_amount)
  new.create(btc_address, btc_amount)
end
new(uuid = nil) click to toggle source
# File lib/xmrto/transfer.rb, line 12
def initialize(uuid = nil)
  self.uuid = uuid
end
status(uuid) click to toggle source
# File lib/xmrto/transfer.rb, line 20
def self.status(uuid)
  new(uuid).update
end

Public Instance Methods

create(btc_address, btc_amount) click to toggle source
# File lib/xmrto/transfer.rb, line 24
def create(btc_address, btc_amount)
  request = post_request("/order_create/", { "btc_dest_address": btc_address,  "btc_amount": btc_amount })
  self.uuid = request["uuid"]
  self.state = request["state"]
  self
end
livenet?() click to toggle source
# File lib/xmrto/transfer.rb, line 48
def livenet?
  Xmrto.config.network == :livenet
end
method_missing(m, *args, &block) click to toggle source
Calls superclass method
# File lib/xmrto/transfer.rb, line 36
def method_missing(m, *args, &block)
  if instance_values.has_key?(m.to_s)
    instance_values[m.to_s]
  else
    super
  end
end
post_request(endpoint, args) click to toggle source
# File lib/xmrto/transfer.rb, line 52
def post_request(endpoint, args)
  url = "#{base_url}#{endpoint}"
  p "sending POST request to: #{url} with params: #{args.to_json}" if Xmrto.config.debug
  response = HTTParty.post(url, body: args.to_json, headers: { 'Content-Type' => 'application/json' } )
  if response["error"]
    raise("Xmrto::Error#{response["error"][-3..-1]}".constantize, response["error_msg"] )
  end
  response
end
testnet?() click to toggle source
# File lib/xmrto/transfer.rb, line 44
def testnet?
  Xmrto.config.network == :testnet
end
update() click to toggle source
# File lib/xmrto/transfer.rb, line 31
def update
  fetch_status.map{|attr, value| instance_variable_set("@#{attr}", value) }
  state
end

Private Instance Methods

base_url() click to toggle source
# File lib/xmrto/transfer.rb, line 64
def base_url
  if testnet?
    "https://test.xmr.to/api/v2/xmr2btc"
  else
    "https://xmr.to/api/v2/xmr2btc"
  end
end
fetch_status() click to toggle source
# File lib/xmrto/transfer.rb, line 72
def fetch_status
  post_request("/order_status_query/", {uuid: uuid})
end