Class: Btce::API
- Inherits:
-
Object
- Object
- Btce::API
- Defined in:
- lib/btce.rb
Constant Summary collapse
- BTCE_DOMAIN =
"btc-e.com"- CURRENCIES =
%w(btc usd rur ltc nmc eur nvc)
- CURRENCY_PAIRS =
%w(btc_usd btc_rur ltc_btc ltc_usd ltc_rur nmc_btc usd_rur eur_usd nvc_btc)
- MAX_DIGITS =
{ "btc_usd" => 3, "btc_rur" => 4, "ltc_btc" => 5, "ltc_usd" => 6, "ltc_rur" => 4, "nmc_btc" => 4, "usd_rur" => 4, "eur_usd" => 4, "nvc_btc" => 4 }
- KEY =
YAML::load File.open 'btce-api-key.yml'
Class Method Summary collapse
- .get_https(url, params = nil, sign = nil) ⇒ Object
- .get_json(url, params = nil, sign = nil) ⇒ Object
Class Method Details
.get_https(url, params = nil, sign = nil) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/btce.rb', line 76 def get_https(url, params = nil, sign = nil) raise ArgumentError if not url.is_a? String uri = URI.parse url http = Net::HTTP.new uri.host, uri.port http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE if params.nil? request = Net::HTTP::Get.new uri.request_uri else # If sending params, then we want a post request for authentication. request = Net::HTTP::Post.new uri.request_uri request.add_field "Key", API::KEY['key'] request.add_field "Sign", sign request.set_form_data params end response = http.request request response.body end |
.get_json(url, params = nil, sign = nil) ⇒ Object
95 96 97 98 99 100 101 |
# File 'lib/btce.rb', line 95 def get_json(url, params = nil, sign = nil) result = get_https(url, params, sign) if not result.is_a? String or not result.valid_json? raise RuntimeError, "Server returned invalid data." end JSON.load result end |