bitodeme 0.2.9 → 0.3.0

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: '086ba72f663dff47f9950e154a4176e6722923b2'
4
- data.tar.gz: 6a434f000660b02d84d3104ab76edea3fca1bad9
3
+ metadata.gz: 6962c2eeb7db329d119650c8b545f696426d2197
4
+ data.tar.gz: 6f9de2c83dd3600674f37d8fa45f52b92b341eeb
5
5
  SHA512:
6
- metadata.gz: 2ffc7e7ca47ce8b1f7ca88e5fff34ffabfaff06c34872113cea54d3198982c7cacfe75e4bb7a4cd07997fcd12bdb40f14fa97ad0e2b290891c5cc1f569c1c509
7
- data.tar.gz: 53b06506c15cd05a84aadaefab8481f8379c8ed7e7ce3d24f3d6c761eaff925cb3b153ca34ea2addf60f084420ae363f05e121b91c2379bfce8f8e1f0e06e44d
6
+ metadata.gz: df538d17c4880d7f45df06d459c8399aeb9587464f8d95019aa07c0d37423095b93c36a445a8a71fed41cd17a351772dab84e5b05446c306f810327f27a48168
7
+ data.tar.gz: 240ec81d5a4aecf1df9a23fd4b0cd590bbb50f0628107563ff7f580110b0be9e522aa80352aba3a87f60150de9d1a580d79ddfb22143bb0f40d74020b97606a2
data/.env.example CHANGED
@@ -1,3 +1,4 @@
1
1
  BITODEME_HOSTNAME=alpha.bitodeme.com
2
2
  BITODEME_CLIENT_ID=key
3
3
  BITODEME_CLIENT_SECRET=secret
4
+ BITODEME_CLIENT_LOGGING=true
data/.env.test CHANGED
@@ -1,3 +1,4 @@
1
1
  BITODEME_HOSTNAME=alpha.bitodeme.com
2
2
  BITODEME_CLIENT_ID=key
3
3
  BITODEME_CLIENT_SECRET=secret
4
+ BITODEME_CLIENT_LOGGING=true
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bitodeme (0.2.8)
4
+ bitodeme (0.2.9)
5
5
  dotenv (~> 2.2, >= 2.2)
6
- faraday (~> 0.13)
6
+ faraday (~> 0.15.2)
7
7
  faraday_middleware (~> 0.12)
8
8
 
9
9
  GEM
@@ -23,9 +23,9 @@ GEM
23
23
  thread_safe (~> 0.3, >= 0.3.1)
24
24
  diff-lcs (1.3)
25
25
  docile (1.1.5)
26
- dotenv (2.2.1)
26
+ dotenv (2.5.0)
27
27
  equalizer (0.0.11)
28
- faraday (0.13.1)
28
+ faraday (0.15.2)
29
29
  multipart-post (>= 1.2, < 3)
30
30
  faraday_middleware (0.12.2)
31
31
  faraday (>= 0.7.4, < 1.0)
data/README.md CHANGED
@@ -24,6 +24,7 @@ Then set environment vars:
24
24
  export BITODEME_HOSTNAME=alpha.bitodeme.com; # Bitodeme Domain
25
25
  export BITODEME_CLIENT_ID=clientidentifier; # API key
26
26
  export BITODEME_CLIENT_SECRET=clientsecret; # API secret
27
+ export BITODEME_CLIENT_LOGGING=true; # To enable logging (optional)
27
28
  ```
28
29
 
29
30
  ## Usage
@@ -32,17 +33,17 @@ export BITODEME_CLIENT_SECRET=clientsecret; # API secret
32
33
 
33
34
  Fetch all currencies
34
35
  ```ruby
35
- currencies = Bitodeme.currencies
36
+ currencies = Bitodeme.list_currencies
36
37
  ```
37
38
 
38
39
  Fetch all updated currencies after given time in milli seconds
39
40
  ```ruby
40
- updated_currencies = Bitodeme.currencies(since: 1604131436476)
41
+ updated_currencies = Bitodeme.list_currencies(since: 1604131436476)
41
42
  ```
42
43
 
43
44
  Pagination
44
45
  ```ruby
45
- last_10_currencies = Bitodeme.currencies(page: 1, per_page: 10)
46
+ last_10_currencies = Bitodeme.list_currencies(page: 1, per_page: 10)
46
47
  ```
47
48
 
48
49
  ### Deposit (Unconfirmed deposits only)
@@ -50,38 +51,38 @@ last_10_currencies = Bitodeme.currencies(page: 1, per_page: 10)
50
51
  Fetch all unconfirmed deposits
51
52
 
52
53
  ```ruby
53
- deposits = Bitodeme.deposits
54
+ deposits = Bitodeme.list_deposits
54
55
  ```
55
56
 
56
57
  ### Funds
57
58
 
58
59
  Fetch all funds
59
60
  ```ruby
60
- funds = Bitodeme.funds
61
+ funds = Bitodeme.list_funds
61
62
  ```
62
63
 
63
64
  Fetch all updated funds after given time
64
65
  ```ruby
65
- updated_funds = Bitodeme.funds(since: 1513418293)
66
+ updated_funds = Bitodeme.list_funds(since: 1513418293)
66
67
  ```
67
68
 
68
69
  ### FundAddress
69
70
 
70
71
  Fetch all fund addresses
71
72
  ```ruby
72
- fund_addresses = Bitodeme.fund_addresses
73
+ fund_addresses = Bitodeme.list_fund_addresses
73
74
  ```
74
75
 
75
76
  Fetch all updated fund_addresses after given time
76
77
  ```ruby
77
- updated_fund_addresses = Bitodeme.fund_addresses(since: 1513418293)
78
+ updated_fund_addresses = Bitodeme.list_fund_addresses(since: 1513418293)
78
79
  ```
79
80
 
80
81
  ### Invoice
81
82
 
82
83
  Fetch an invoice information
83
84
  ```ruby
84
- invoice = Bitodeme.invoice('id')
85
+ invoice = Bitodeme.find_invoice('id')
85
86
  ```
86
87
 
87
88
  Build & create an invoice
@@ -109,12 +110,12 @@ invoice = Bitodeme.create_invoice(invoice)
109
110
 
110
111
  Fetch all transaction logs (deposits, withdrawals and fees)
111
112
  ```ruby
112
- transaction_logs = Bitodeme.transaction_logs
113
+ transaction_logs = Bitodeme.list_transaction_logs
113
114
  ```
114
115
 
115
116
  Find a transaction_log
116
117
  ```ruby
117
- transaction_log = Bitodeme.transaction_log('id')
118
+ transaction_log = Bitodeme.find_transaction_log('id')
118
119
  ```
119
120
 
120
121
  ### Withdrawal (Send money)
data/bitodeme.gemspec CHANGED
@@ -29,6 +29,6 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'vcr', '~> 4.0'
30
30
 
31
31
  spec.add_dependency 'dotenv', '~> 2.2', '>= 2.2'
32
- spec.add_dependency 'faraday', '~> 0.13'
32
+ spec.add_dependency 'faraday', '~> 0.15.2'
33
33
  spec.add_dependency 'faraday_middleware', '~> 0.12'
34
34
  end
data/lib/bitodeme.rb CHANGED
@@ -28,17 +28,17 @@ Withdrawal = Bitodeme::Resource::Withdrawal
28
28
  module Bitodeme
29
29
  extend SingleForwardable
30
30
 
31
- def_delegator :Currency, :all, :currencies
32
- def_delegator :Deposit, :all, :deposits
33
- def_delegator :Fund, :find, :fund
34
- def_delegator :Fund, :all, :funds
35
- def_delegator :FundAddress, :find, :fund_address
36
- def_delegator :FundAddress, :all, :fund_addresses
31
+ def_delegator :Currency, :all, :list_currencies
32
+ def_delegator :Deposit, :all, :list_deposits
33
+ def_delegator :Fund, :find, :find_fund
34
+ def_delegator :Fund, :all, :list_funds
35
+ def_delegator :FundAddress, :find, :find_fund_address
36
+ def_delegator :FundAddress, :all, :list_fund_addresses
37
37
  def_delegator :Invoice, :build, :build_invoice
38
38
  def_delegator :Invoice, :create, :create_invoice
39
- def_delegator :Invoice, :find, :invoice
40
- def_delegator :TransactionLog, :find, :transaction_log
41
- def_delegator :TransactionLog, :all, :transaction_logs
39
+ def_delegator :Invoice, :find, :find_invoice
40
+ def_delegator :TransactionLog, :find, :find_transaction_log
41
+ def_delegator :TransactionLog, :all, :list_transaction_logs
42
42
  def_delegator :Withdrawal, :build, :build_withdrawal
43
43
  def_delegator :Withdrawal, :create, :create_withdrawal
44
44
 
data/lib/bitodeme/auth.rb CHANGED
@@ -24,10 +24,11 @@ module Bitodeme
24
24
 
25
25
  private
26
26
 
27
+ GRANT_TYPE = 'client_credentials'.freeze
27
28
  USER_AGENT = "Ruby / Bitodeme::Auth v#{Bitodeme::VERSION}".freeze
28
29
 
29
30
  def_delegators :Bitodeme, :config
30
- def_delegators :config, :hostname, :client_id, :client_secret
31
+ def_delegators :config, :hostname, :client_id, :client_secret, :logging
31
32
 
32
33
  attr_reader :connection, :access_token, :expires_at
33
34
 
@@ -54,6 +55,7 @@ module Bitodeme
54
55
  def build_connection
55
56
  Faraday.new(faraday_opts) do |conn|
56
57
  conn.request :json
58
+ conn.response :logger if logging
57
59
  conn.response :json, content_type: /\bjson$/
58
60
  conn.adapter Faraday.default_adapter
59
61
  end
@@ -74,7 +76,7 @@ module Bitodeme
74
76
  {
75
77
  client_id: client_id,
76
78
  client_secret: client_secret,
77
- grant_type: 'client_credentials'
79
+ grant_type: GRANT_TYPE
78
80
  }
79
81
  end
80
82
  end
@@ -7,7 +7,8 @@ module Bitodeme
7
7
 
8
8
  attr_reader :hostname,
9
9
  :client_id,
10
- :client_secret
10
+ :client_secret,
11
+ :logging
11
12
 
12
13
  def self.build
13
14
  $bitodeme_configuration ||= instance
@@ -19,6 +20,7 @@ module Bitodeme
19
20
  @hostname = ENV['BITODEME_HOSTNAME']
20
21
  @client_id = ENV['BITODEME_CLIENT_ID']
21
22
  @client_secret = ENV['BITODEME_CLIENT_SECRET']
23
+ @logging = ENV['BITODEME_CLIENT_LOGGING']
22
24
  end
23
25
  end
24
26
  end
data/lib/bitodeme/conn.rb CHANGED
@@ -3,6 +3,7 @@ require 'singleton'
3
3
  module Bitodeme
4
4
  # HTTP Connection for Bitodeme
5
5
  class Conn
6
+ extend Forwardable
6
7
  include Singleton
7
8
 
8
9
  USER_AGENT = "Ruby / Bitodeme::Conn v#{Bitodeme::VERSION}".freeze
@@ -15,6 +16,9 @@ module Bitodeme
15
16
 
16
17
  attr_reader :auth
17
18
 
19
+ def_delegators :Bitodeme, :config
20
+ def_delegators :config, :hostname, :logging
21
+
18
22
  def initialize
19
23
  @auth = Bitodeme::Auth.build
20
24
  end
@@ -23,6 +27,7 @@ module Bitodeme
23
27
  Faraday.new(faraday_opts) do |conn|
24
28
  conn.request :oauth2, auth.token, token_type: :bearer
25
29
  conn.request :json
30
+ conn.response :logger if logging
26
31
  conn.response :json, content_type: /\bjson$/
27
32
  conn.adapter Faraday.default_adapter
28
33
  end
@@ -30,7 +35,7 @@ module Bitodeme
30
35
 
31
36
  def faraday_opts
32
37
  @faraday_opts ||= {
33
- url: "https://#{Bitodeme.config.hostname}",
38
+ url: "https://#{hostname}",
34
39
  headers: { 'User-Agent' => USER_AGENT }
35
40
  }
36
41
  end
@@ -11,10 +11,6 @@ module Bitodeme
11
11
  class << self
12
12
  private
13
13
 
14
- def conn
15
- Bitodeme::Conn.build
16
- end
17
-
18
14
  def _find(collection, resource, id)
19
15
  item = get("/api/v1/#{collection}/#{id}").body.fetch(resource, {})
20
16
  new(item)
@@ -40,6 +36,10 @@ module Bitodeme
40
36
  query_params[:ends_at] = opts[:ends_at] if opts.key?(:ends_at)
41
37
  query_params
42
38
  end
39
+
40
+ def conn
41
+ Bitodeme::Conn.build
42
+ end
43
43
  end
44
44
 
45
45
  def to_h
@@ -51,15 +51,13 @@ module Bitodeme
51
51
 
52
52
  private
53
53
 
54
- def unauthorized_conn
54
+ def conn
55
55
  Bitodeme::UnauthorizedConn.build
56
56
  end
57
57
  end
58
58
 
59
59
  private
60
60
 
61
- def_delegators :unauthorized_conn, :get
62
-
63
61
  def initialize(params)
64
62
  super(attrs: attrs, params: params)
65
63
  end
@@ -3,6 +3,7 @@ require 'singleton'
3
3
  module Bitodeme
4
4
  # HTTP Connection for Bitodeme unauthorized endpoints
5
5
  class UnauthorizedConn
6
+ extend Forwardable
6
7
  include Singleton
7
8
 
8
9
  USER_AGENT = "Ruby / Bitodeme::Conn v#{Bitodeme::VERSION}".freeze
@@ -13,9 +14,13 @@ module Bitodeme
13
14
 
14
15
  private
15
16
 
17
+ def_delegators :Bitodeme, :config
18
+ def_delegators :config, :hostname, :logging
19
+
16
20
  def connection
17
21
  Faraday.new(faraday_opts) do |conn|
18
22
  conn.request :json
23
+ conn.response :logger if logging
19
24
  conn.response :json, content_type: /\bjson$/
20
25
  conn.adapter Faraday.default_adapter
21
26
  end
@@ -23,7 +28,7 @@ module Bitodeme
23
28
 
24
29
  def faraday_opts
25
30
  @faraday_opts ||= {
26
- url: "https://#{Bitodeme.config.hostname}",
31
+ url: "https://#{hostname}",
27
32
  headers: { 'User-Agent' => USER_AGENT }
28
33
  }
29
34
  end
@@ -1,3 +1,3 @@
1
1
  module Bitodeme
2
- VERSION = '0.2.9'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitodeme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bitodeme Integrations Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-14 00:00:00.000000000 Z
11
+ date: 2018-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -148,14 +148,14 @@ dependencies:
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '0.13'
151
+ version: 0.15.2
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '0.13'
158
+ version: 0.15.2
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: faraday_middleware
161
161
  requirement: !ruby/object:Gem::Requirement