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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e450fe92759644777b68b408c8233222342c3368
4
- data.tar.gz: 06be7c0ea828bfe0c72d24147b3510befffdc9a4
3
+ metadata.gz: 5cbf624f97dd04ca5004a9f5c387eeda4f7e24f5
4
+ data.tar.gz: c3519e8129ffcb440b7218765ec388231c220e01
5
5
  SHA512:
6
- metadata.gz: 950566bd7ab675f5ac58747e17cfc573de427e50ccd41f223dd4c14bff749579ec55efe0c08bb0f63714b9168242d708c5528e4fcb0832118b8d2d7f37d2d89b
7
- data.tar.gz: 711817483e659b969d5d9641202b09e127c5aca1f4effedff60e67f6643c2e64d2ce4e97addec9d88b7c0f1e2cb102a9b8f8db824b2c07647cb750109a22d4a2
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
- def tickers
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
- def info
27
- query = public_request("marketinfo")
28
- JSON.parse(query, {:symbolize_names => true})
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
- def details
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 :market_info, :info
46
- alias_method :marke_list, :details
47
- alias_method :history, :trades
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
- def public_request(method, pair='')
8
- HTTParty.get("#{PUBLIC_URL}/#{method}/#{pair}").body
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
- def order_status(order_id)
31
- query = trade_request("getorder", [{:order_id => order_id}])
32
- JSON.parse(query, {:symbolize_names => true})
33
- end
34
-
35
- def cancel_order(order_id)
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.6
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: []