Class: Mastercoin::BitcoinWrapper
- Inherits:
-
Object
- Object
- Mastercoin::BitcoinWrapper
show all
- Defined in:
- lib/mastercoin-ruby/bitcoin_wrapper.rb
Defined Under Namespace
Classes: JSONRPCError
Instance Method Summary
collapse
Constructor Details
9
10
11
|
# File 'lib/mastercoin-ruby/bitcoin_wrapper.rb', line 9
def initialize(service_url)
@uri = URI.parse(service_url)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/mastercoin-ruby/bitcoin_wrapper.rb', line 22
def method_missing(name, *args)
post_body = { 'method' => name, 'params' => args, 'id' => 'jsonrpc' }.to_json
resp = JSON.parse( http_post_request(post_body) )
raise JSONRPCError, resp['error'] if resp['error']
resp['result']
end
|
Instance Method Details
#http_post_request(post_body) ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/mastercoin-ruby/bitcoin_wrapper.rb', line 31
def http_post_request(post_body)
http = Net::HTTP.new(@uri.host, @uri.port)
request = Net::HTTP::Post.new(@uri.request_uri)
request.basic_auth @uri.user, @uri.password
request.content_type = 'application/json'
request.body = post_body
http.request(request).body
end
|
#unspend_for_address(address) ⇒ Object
13
14
15
16
17
18
19
20
|
# File 'lib/mastercoin-ruby/bitcoin_wrapper.rb', line 13
def unspend_for_address(address)
unspend = self.listunspent.find{|x| x["address"] == address}
if unspend.is_a?(Array)
return unspend
else
return [unspend]
end
end
|