coins_ph_ruby 0.1.4 → 0.2.0

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: 4d94a70457820d64b401328e8a8fad760437c09b
4
- data.tar.gz: a4f7906137fff78047b4c4992d2e8859327c5441
3
+ metadata.gz: b9be309c5c1e0fd598538f28d7ccac5ec2eb63f2
4
+ data.tar.gz: 0fc80bb08bca7a18360ccdc44853e5bde7ed9da7
5
5
  SHA512:
6
- metadata.gz: 933205e85c750533bec4de3e019e5b7f0239bdca0c4d5039ef9583dcd3385f72fe776b480f51f15e7dbaba9a2a8fca7cf13bd32418d0ad38163ae67cbb209d8f
7
- data.tar.gz: fa053dbc555baed90d55a46daf5e49e5283d51dad7feed605bbded86987374afef5b3b3c8877aa16f9bd934154d96b6f2669f8c7586e2829b2f00e7ce66cd4df
6
+ metadata.gz: c72e28dd5a63fe56e02c29f2c19ee62d4402ba711fc013ae8e8b111e3ef9f13e863f3c580083fe9f032ce989848b69216838560bd52c35db906b6784f1e1254b
7
+ data.tar.gz: fc644bf8d699373e29d4b8af4878e44a2a1b04062265e4bfb9226c987979e687d1662d7015545cdd740bb48adfde79f2f6bd9cb2fb8f586b27046fe07f16b6d5
@@ -33,8 +33,6 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "rake", "~> 10.0"
34
34
  spec.add_development_dependency "rspec", "~> 3.0"
35
35
 
36
- spec.add_dependency "faraday"
36
+ spec.add_dependency "rest-client"
37
37
  spec.add_dependency "json"
38
- spec.add_dependency "faraday_middleware"
39
-
40
38
  end
@@ -3,16 +3,24 @@ require 'openssl'
3
3
  module Hmac
4
4
 
5
5
  def self.get_nonce()
6
- return Time.now.to_i * (1**6)
6
+ return Time.now.to_i * (10**8)
7
7
  end
8
8
 
9
9
  def self.sign_request(api_secret, url, nonce, body=nil)
10
+ puts nonce
11
+ puts url
10
12
  if body.nil?
11
13
  message = "#{nonce}#{url}"
12
14
  else
13
15
  message = "#{nonce}#{url}#{body}"
16
+
14
17
  end
15
18
 
16
- return OpenSSL::HMAC.hexdigest('sha256', api_secret, message)
19
+ puts message
20
+ digest = OpenSSL::Digest.new('sha256')
21
+ return OpenSSL::HMAC.hexdigest(digest, api_secret, message)
17
22
  end
18
- end
23
+ end
24
+
25
+ {"target_address":"ethan@groundworkai.com","account":"02d950370daf41c1a1de060b3cb48a9d","amount":3}
26
+ {"target_address":"ethan@groundworkai.com","amount":3,"account":"02d950370daf41c1a1de060b3cb48a9d"}
@@ -1,3 +1,3 @@
1
1
  module CoinsPhRuby
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/coins_ph_ruby.rb CHANGED
@@ -1,97 +1,77 @@
1
- require 'faraday'
2
- require 'faraday_middleware'
3
1
  require 'coins_ph_ruby/version'
4
2
  require 'coins_ph_ruby/hmac'
3
+ require 'json'
5
4
 
6
5
  module CoinsPhRuby
7
- class RequestBody < Faraday::Middleware
8
- def call(env)
9
- request_body = env.body
10
-
11
- puts request_body
12
-
13
- @app.call(env).on_complete do |response|
14
- response[:request_body] = request_body
15
- end
16
- end
17
- end
18
-
19
6
  class CoinsPhService
20
-
21
7
  def initialize(api_key, api_secret)
22
8
  @api_key = api_key
23
9
  @api_secret = api_secret
24
10
  @base_url = 'https://coins.ph/api/v3'
25
- @conn = Faraday.new @base_url do |connector|
26
- connector.use FaradayMiddleware::FollowRedirects
27
- connector.use RequestBody
28
- connector.adapter Faraday.default_adapter
29
- end
30
11
  end
31
12
 
32
13
  def get_crypto_accounts(currency=nil)
33
- url = @base_url + "/crypto-accounts/"
34
- nonce = Hmac.get_nonce.to_s
35
- signature = Hmac.sign_request(@api_secret, url, nonce)
36
-
37
- response = @conn.get do |req|
38
- req.url 'crypto-accounts'
39
- req.headers['Content-Type'] = 'application/json'
40
- req.headers['Accept'] = 'application/json'
41
- req.headers['ACCESS_SIGNATURE'] = signature
42
- req.headers['ACCESS_KEY'] = @api_key
43
- req.headers['ACCESS_NONCE'] = nonce
14
+ nonce = Hmac.get_nonce
15
+ url = @base_url + '/crypto-accounts/'
16
+ signature = Hmac.sign_request(@api_secret, url,
17
+ nonce)
18
+ begin
19
+ response = RestClient.get(url, content_type: :json,
20
+ accept: :json,
21
+ ACCESS_SIGNATURE: signature,
22
+ ACCESS_KEY: @api_key,
23
+ ACCESS_NONCE: nonce)
24
+ rescue StandardError => e
25
+ puts e.response
44
26
  end
45
-
46
- puts response.body
47
- return response
27
+ response
48
28
  end
49
29
 
50
- def get_transfers(id=nil)
51
- nonce = Hmac.get_nonce.to_s
52
- url = @base_url + "/transfers/"
53
-
54
- response = @conn.get do |req|
55
- req.url 'transfers'
56
- req.headers['Content-Type'] = 'application/json'
57
- req.headers['Accept'] = 'application/json'
58
- req.headers['ACCESS_SIGNATURE'] = Hmac.sign_request(@api_secret, url, nonce)
59
- req.headers['ACCESS_KEY'] = @api_key
60
- req.headers['ACCESS_NONCE'] = nonce
30
+ def get_transfers(_id = nil)
31
+ nonce = Hmac.get_nonce
32
+ url = @base_url + '/transfers/'
33
+ signature = Hmac.sign_request(@api_secret, url,
34
+ nonce)
35
+ begin
36
+ response = RestClient.get(url, content_type: :json,
37
+ accept: :json,
38
+ ACCESS_SIGNATURE: signature,
39
+ ACCESS_KEY: @api_key,
40
+ ACCESS_NONCE: nonce)
41
+ rescue StandardError => e
42
+ puts e.response
61
43
  end
62
-
63
- puts response.body
64
- return response
44
+ response
65
45
  end
66
46
 
67
- def transfer (amount, account, target_address, message)
68
- body = "{
69
- \"amount\": \"#{amount}\",
70
- \"account\": \"#{account}\",
71
- \"target_address\": \"#{target_address}\",
72
- \"message\": \"#{message}\"
73
- }".gsub(/\s+/, "")
74
-
75
- nonce = Hmac.get_nonce.to_s
76
- url = @base_url + "/transfers/"
77
-
78
- response = @conn.post do |req|
79
- req.url 'transfers'
80
- req.headers['Content-Type'] = 'application/json'
81
- req.headers['Accept'] = 'application/json'
82
-
83
- req.headers['ACCESS_SIGNATURE'] = Hmac.sign_request(@api_secret, url,
84
- nonce)
85
- req.headers['ACCESS_KEY'] = @api_key
86
- req.headers['ACCESS_NONCE'] = nonce
87
-
88
- req.body = body
89
-
90
- puts req.inspect
47
+ def transfer(amount, account, target_address, message = nil)
48
+ body = build_transfer_body(account, amount, message, target_address)
49
+ nonce = Hmac.get_nonce
50
+ url = @base_url + '/transfers/'
51
+ signature = Hmac.sign_request(@api_secret, url,
52
+ nonce, body)
53
+ begin
54
+ response = RestClient.post(url, body, content_type: :json,
55
+ accept: :json,
56
+ ACCESS_SIGNATURE: signature,
57
+ ACCESS_KEY: @api_key,
58
+ ACCESS_NONCE: nonce)
59
+ rescue StandardError => e
60
+ puts e.response
91
61
  end
62
+ response
63
+ end
64
+
65
+ private
92
66
 
93
- puts response.inspect
94
- return response
67
+ def build_transfer_body(account, amount, message, target_address)
68
+ body = {
69
+ target_address: target_address,
70
+ account: account,
71
+ amount: amount
72
+ }
73
+ body[:message] = message unless message.nil?
74
+ body.to_json.gsub(/\s+/, '')
95
75
  end
96
76
  end
97
77
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coins_ph_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jcdjulian
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-14 00:00:00.000000000 Z
11
+ date: 2017-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: faraday
42
+ name: rest-client
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: faraday_middleware
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  description: Gem to wrap Coins.ph API.
84
70
  email:
85
71
  - 'julian.deocampo@gmail.com