bter-ruby 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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: []