bter-ruby 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/bter/public.rb +11 -35
- data/lib/bter/request.rb +11 -3
- data/lib/bter/trading.rb +19 -26
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cbf624f97dd04ca5004a9f5c387eeda4f7e24f5
|
4
|
+
data.tar.gz: c3519e8129ffcb440b7218765ec388231c220e01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eecfef2a0ec4b8b4669ae3a0524ef6a17464f5865f020891f4974648e9fdc3d85b77137d1cc5d3fd0c6b7d8f14d50d4db7de684a273a061a9ee381cbb359b819
|
7
|
+
data.tar.gz: 02db7abd32840cbf5f625fa81907a65df6f0bfca6d925dab854f857053fe22d9f82664f69bae7cc1b68014e0fb2b7179c22f0a322e6fb793749bb6d2f0bbc007
|
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
|
-
gemspec
|
2
|
+
gemspec
|
data/lib/bter/public.rb
CHANGED
@@ -2,48 +2,24 @@ require_relative 'request.rb'
|
|
2
2
|
|
3
3
|
module Bter
|
4
4
|
class Public
|
5
|
-
include Request
|
6
|
-
def pairs
|
7
|
-
query = public_request("pairs")
|
8
|
-
JSON.parse(query, {:symbolize_names => true})
|
9
|
-
end
|
10
|
-
|
11
|
-
def ticker(pair)
|
12
|
-
query = public_request("ticker", pair)
|
13
|
-
JSON.parse(query, {:symbolize_names => true})
|
14
|
-
end
|
5
|
+
include Request
|
15
6
|
|
16
|
-
|
17
|
-
query = public_request("tickers")
|
18
|
-
JSON.parse(query, {:symbolize_names => true})
|
19
|
-
end
|
20
|
-
|
21
|
-
def depth(pair)
|
22
|
-
query = public_request("depth", pair)
|
23
|
-
JSON.parse(query, {:symbolize_names => true})
|
24
|
-
end
|
7
|
+
METHODS = ['pairs', 'ticker', 'tickers', 'depth', 'marketinfo', 'markelist', 'trade']
|
25
8
|
|
26
|
-
|
27
|
-
|
28
|
-
|
9
|
+
METHODS.each do |method|
|
10
|
+
define_method(method) do |pair=nil, tid=nil|
|
11
|
+
public_request(method, pair, tid)
|
12
|
+
end
|
29
13
|
end
|
30
14
|
|
31
|
-
|
32
|
-
query = public_request("markelist")
|
33
|
-
JSON.parse(query, {:symbolize_names => true})
|
34
|
-
end
|
35
|
-
|
36
|
-
def trades(pair, tid='')
|
37
|
-
query = public_request("trade", pair + "/#{tid}")
|
38
|
-
JSON.parse(query, {:symbolize_names => true})
|
39
|
-
end
|
40
|
-
|
15
|
+
#will be removed soon
|
41
16
|
def logging(log)
|
42
17
|
raise "Logger is no longer available , please remove it"
|
43
18
|
end
|
44
19
|
|
45
|
-
alias_method :
|
46
|
-
alias_method :
|
47
|
-
alias_method :
|
20
|
+
alias_method :info, :marketinfo
|
21
|
+
alias_method :details, :markelist
|
22
|
+
alias_method :trades, :trade
|
23
|
+
alias_method :history, :trade
|
48
24
|
end
|
49
25
|
end
|
data/lib/bter/request.rb
CHANGED
@@ -4,8 +4,11 @@ module Bter
|
|
4
4
|
PUBLIC_URL = 'https://data.bter.com/api/1'
|
5
5
|
TRADE_URL = 'https://bter.com/api/1/private'
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
private
|
8
|
+
def public_request(method, pair='', tid=nil)
|
9
|
+
pair = pair + "/#{tid}" if tid.nil? == false
|
10
|
+
response = HTTParty.get("#{PUBLIC_URL}/#{method}/#{pair}").body
|
11
|
+
make_hash(response)
|
9
12
|
end
|
10
13
|
|
11
14
|
def trade_request(method, params=nil)
|
@@ -17,7 +20,7 @@ module Bter
|
|
17
20
|
@params.merge!(param)
|
18
21
|
end
|
19
22
|
end
|
20
|
-
HTTParty.post(
|
23
|
+
response = HTTParty.post(
|
21
24
|
"#{TRADE_URL}/#{method}",
|
22
25
|
:body => @params,
|
23
26
|
:headers => {
|
@@ -27,6 +30,7 @@ module Bter
|
|
27
30
|
"Accept" => "application/x-www-form-urlencoded"
|
28
31
|
}
|
29
32
|
).body
|
33
|
+
make_hash(response)
|
30
34
|
end
|
31
35
|
|
32
36
|
def sign
|
@@ -34,5 +38,9 @@ module Bter
|
|
34
38
|
@params = @params.collect {|k,v| "#{k}=#{v}"}.join('&')
|
35
39
|
hmac.update(@params).to_s
|
36
40
|
end
|
41
|
+
|
42
|
+
def make_hash(json_object)
|
43
|
+
JSON.parse(json_object, {:symbolize_names => true})
|
44
|
+
end
|
37
45
|
end
|
38
46
|
end
|
data/lib/bter/trading.rb
CHANGED
@@ -5,17 +5,19 @@ module Bter
|
|
5
5
|
include Request
|
6
6
|
|
7
7
|
attr_accessor :key, :secret
|
8
|
-
|
9
|
-
def get_info
|
10
|
-
query = trade_request("getfunds")
|
11
|
-
JSON.parse(query, {:symbolize_names => true})
|
12
|
-
end
|
13
|
-
|
14
|
-
def active_orders
|
15
|
-
query = trade_request("orderlist")
|
16
|
-
JSON.parse(query, {:symbolize_names => true})
|
17
|
-
end
|
18
8
|
|
9
|
+
METHODS = ['getfunds', 'orderlist', 'getorder', 'cancelorder', 'mytrades']
|
10
|
+
|
11
|
+
METHODS.each do |method|
|
12
|
+
define_method(method) do |param=nil|
|
13
|
+
if param.to_i > 0
|
14
|
+
trade_request(method, [{:order_id => param}])
|
15
|
+
else
|
16
|
+
trade_request(method, [{:pair => param}])
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
19
21
|
#abstract the trade to buy and sell
|
20
22
|
def buy(pair, amount, rate=nil)
|
21
23
|
rate ||= get_rate(pair)
|
@@ -26,21 +28,13 @@ module Bter
|
|
26
28
|
rate ||= get_rate(pair)
|
27
29
|
trade({:pair => pair, :type => "SELL", :rate => rate, :amount => amount})
|
28
30
|
end
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
query = trade_request("cancelorder", [{:order_id => order_id}])
|
37
|
-
JSON.parse(query, {:symbolize_names => true})
|
38
|
-
end
|
39
|
-
|
40
|
-
def my_trades(pair)
|
41
|
-
query = trade_request("mytrades", [{:pair => pair}])
|
42
|
-
JSON.parse(query, {:symbolize_names => true})
|
43
|
-
end
|
31
|
+
|
32
|
+
alias_method :get_info, :getfunds
|
33
|
+
alias_method :active_orders, :orderlist
|
34
|
+
alias_method :order_status, :getorder
|
35
|
+
alias_method :cancel_order, :cancelorder
|
36
|
+
alias_method :get_info, :getfunds
|
37
|
+
alias_method :my_trades, :mytrades
|
44
38
|
|
45
39
|
#soon to be removed
|
46
40
|
def logging(log)
|
@@ -50,7 +44,6 @@ module Bter
|
|
50
44
|
private
|
51
45
|
def trade(*params)
|
52
46
|
query = trade_request("placeorder", params)
|
53
|
-
JSON.parse(query, {:symbolize_names => true})
|
54
47
|
end
|
55
48
|
|
56
49
|
def get_rate(pair)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bter-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zisis Maras
|
@@ -14,40 +14,40 @@ dependencies:
|
|
14
14
|
name: json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.8'
|
20
|
-
- -
|
20
|
+
- - '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 1.8.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.8'
|
30
|
-
- -
|
30
|
+
- - '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.8.1
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: httparty
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - ~>
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0.13'
|
40
|
-
- -
|
40
|
+
- - '>='
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 0.13.1
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ~>
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0.13'
|
50
|
-
- -
|
50
|
+
- - '>='
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 0.13.1
|
53
53
|
description: Ruby api for the bter.com cryptocurrency exchange
|
@@ -73,12 +73,12 @@ require_paths:
|
|
73
73
|
- lib
|
74
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- -
|
76
|
+
- - '>='
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: '0'
|
79
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - '>='
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
requirements: []
|