bitodeme 0.1.0 → 0.1.1

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: 054db3ffb0a816ebcf1a29a3122be47fef657b23
4
- data.tar.gz: 578c58d1d341a0c9857eb89db6d8f058134710d8
3
+ metadata.gz: b98888019e9878b395b47c1dc8b36810b9c045f7
4
+ data.tar.gz: fd71b503b3f8ef66e88e7c7eabd60c0bcfc6633e
5
5
  SHA512:
6
- metadata.gz: 4f39409034167326d5a05bc62f401137ee2a3f73dd6aff58f18fc5949f57a38701aa747757d5a6f71ffb4df945219f624211384b75a60dcc502c7200881d6169
7
- data.tar.gz: 13948b09a6426531b51131aa5bda1dbc8b81ccfb8e570f586615c72e8337dccd67bee8799ec64ac8ad1f7d7cd4134ed10b620899bd77e83140fe629d2bf713e3
6
+ metadata.gz: 836f05b8fe05f6160a8f348ad0bb84b8497d42883a2b680a9eff5ca9ba7be25837aa0850c72d450114d9c80918019787441974fe6a65a90f9ca5aedaad241abd
7
+ data.tar.gz: cd37897158f7ef590acf6949f8d20260be048956bb6e46dbf6a238c346adccd52864a128a169504de5dcc66c5c04ffba149f67378bb1294463ed40e3275673e1
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
 
13
13
  .env
14
14
  .byebug_history
15
+ *.gem
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in bitodeme.gemspec
6
6
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,58 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bitodeme (0.1.0)
5
+ dotenv (~> 2.2, >= 2.2)
6
+ faraday (~> 0.13)
7
+ faraday_middleware (~> 0.12)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ coderay (1.1.2)
13
+ diff-lcs (1.3)
14
+ docile (1.1.5)
15
+ dotenv (2.2.1)
16
+ faraday (0.13.1)
17
+ multipart-post (>= 1.2, < 3)
18
+ faraday_middleware (0.12.2)
19
+ faraday (>= 0.7.4, < 1.0)
20
+ json (2.1.0)
21
+ method_source (0.9.0)
22
+ multipart-post (2.0.0)
23
+ pry (0.11.3)
24
+ coderay (~> 1.1.0)
25
+ method_source (~> 0.9.0)
26
+ rake (10.5.0)
27
+ rspec (3.7.0)
28
+ rspec-core (~> 3.7.0)
29
+ rspec-expectations (~> 3.7.0)
30
+ rspec-mocks (~> 3.7.0)
31
+ rspec-core (3.7.0)
32
+ rspec-support (~> 3.7.0)
33
+ rspec-expectations (3.7.0)
34
+ diff-lcs (>= 1.2.0, < 2.0)
35
+ rspec-support (~> 3.7.0)
36
+ rspec-mocks (3.7.0)
37
+ diff-lcs (>= 1.2.0, < 2.0)
38
+ rspec-support (~> 3.7.0)
39
+ rspec-support (3.7.0)
40
+ simplecov (0.15.1)
41
+ docile (~> 1.1.0)
42
+ json (>= 1.8, < 3)
43
+ simplecov-html (~> 0.10.0)
44
+ simplecov-html (0.10.2)
45
+
46
+ PLATFORMS
47
+ ruby
48
+
49
+ DEPENDENCIES
50
+ bitodeme!
51
+ bundler (~> 1.14)
52
+ pry (~> 0.11)
53
+ rake (~> 10.0)
54
+ rspec (~> 3.0)
55
+ simplecov (~> 0.15)
56
+
57
+ BUNDLED WITH
58
+ 1.16.0
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
data/bitodeme.gemspec CHANGED
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.add_development_dependency 'bundler', '~> 1.14'
23
+ spec.add_development_dependency 'pry', '~> 0.11'
23
24
  spec.add_development_dependency 'rake', '~> 10.0'
24
25
  spec.add_development_dependency 'rspec', '~> 3.0'
25
26
  spec.add_development_dependency 'simplecov', '~> 0.15'
26
- spec.add_development_dependency 'pry', '~> 0.11'
27
27
 
28
28
  spec.add_dependency 'dotenv', '~> 2.2', '>= 2.2'
29
29
  spec.add_dependency 'faraday', '~> 0.13'
@@ -0,0 +1,71 @@
1
+ require 'forwardable'
2
+
3
+ module Bitodeme
4
+ # OAuth2 client credentials authenticator for Bitodeme
5
+ class Auth
6
+ extend Forwardable
7
+
8
+ def initialize
9
+ @expires_at = 0
10
+ end
11
+
12
+ # Valid access token for Bitodeme endpoints
13
+ def token
14
+ reset_token if expired?
15
+ access_token
16
+ end
17
+
18
+ private
19
+
20
+ USER_AGENT = "Ruby / Bitodeme v#{Bitodeme::VERSION}".freeze
21
+ GRANT_TYPE = 'client_credentials'.freeze
22
+ AUTH_ENDPOINT = '/api/v1/tokens'.freeze
23
+
24
+ def_delegators :Bitodeme, :config
25
+ def_delegators :config, :hostname, :client_id, :client_secret
26
+
27
+ attr_reader :access_token, :expires_at
28
+
29
+ def expired?
30
+ Time.now.to_i > expires_at
31
+ end
32
+
33
+ def reset_token
34
+ token = authenticate.fetch('token', {})
35
+ @access_token = token.fetch('value', '')
36
+ @expires_at = token.fetch('expires_at', 0)
37
+ end
38
+
39
+ def authenticate
40
+ conn.post(AUTH_ENDPOINT, auth_body).body
41
+ end
42
+
43
+ def conn
44
+ @conn ||= Faraday.new(faraday_opts) do |faraday|
45
+ faraday.request :json
46
+ faraday.response :logger
47
+ faraday.response :json, content_type: /\bjson$/
48
+ faraday.adapter Faraday.default_adapter
49
+ end
50
+ end
51
+
52
+ def faraday_opts
53
+ {
54
+ url: "https://#{hostname}",
55
+ headers: { 'User-Agent' => USER_AGENT }
56
+ }
57
+ end
58
+
59
+ def auth_body
60
+ @auth_body ||= { token: auth_params }
61
+ end
62
+
63
+ def auth_params
64
+ {
65
+ client_id: client_id,
66
+ client_secret: client_secret,
67
+ grant_type: GRANT_TYPE
68
+ }
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,18 @@
1
+ require 'singleton'
2
+
3
+ module Bitodeme
4
+ # Configuration for Bitodeme
5
+ class Configuration
6
+ include Singleton
7
+
8
+ attr_reader :hostname,
9
+ :client_id,
10
+ :client_secret
11
+
12
+ def initialize
13
+ @hostname = ENV['BITODEME_HOSTNAME']
14
+ @client_id = ENV['BITODEME_CLIENT_ID']
15
+ @client_secret = ENV['BITODEME_CLIENT_SECRET']
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,43 @@
1
+ require 'singleton'
2
+ require 'json'
3
+
4
+ module Bitodeme
5
+ # HTTP Connection for Bitodeme
6
+ class Conn
7
+ include Singleton
8
+
9
+ private_class_method :new
10
+
11
+ USER_AGENT = "Ruby / Bitodeme v#{Bitodeme::VERSION}".freeze
12
+
13
+ def self.build
14
+ @conn ||= new.send(:conn)
15
+ end
16
+
17
+ private
18
+
19
+ attr_reader :auth, :hostname
20
+
21
+ def initialize
22
+ @auth = Bitodeme::Auth.new
23
+ @hostname = Bitodeme.config.hostname
24
+ end
25
+
26
+ def conn
27
+ Faraday.new(faraday_opts) do |faraday|
28
+ faraday.request :oauth2, auth.token, token_type: :bearer
29
+ faraday.request :json
30
+ faraday.response :logger
31
+ faraday.response :json, content_type: /\bjson$/
32
+ faraday.adapter Faraday.default_adapter
33
+ end
34
+ end
35
+
36
+ def faraday_opts
37
+ @faraday_opts ||= {
38
+ url: "https://#{hostname}",
39
+ headers: { 'User-Agent' => USER_AGENT }
40
+ }
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,77 @@
1
+ require 'forwardable'
2
+
3
+ module Bitodeme
4
+ module Resource
5
+ # Base class for all Bitodeme resources
6
+ class Base
7
+ extend SingleForwardable
8
+
9
+ def_delegators :conn, :post, :get, :put, :delete
10
+
11
+ class << self
12
+ private
13
+
14
+ def conn
15
+ Bitodeme::Conn.build
16
+ end
17
+
18
+ def _find(collection, resource, id)
19
+ get("/api/v1/#{collection}/#{id}").body.fetch(resource, {}) || {}
20
+ end
21
+
22
+ def _all(collection, page: 1, per_page: 50, since: 0)
23
+ query_params = { page: page, per_page: per_page, since: since }
24
+ get("/api/v1/#{collection}", query_params).body.fetch(collection, [])
25
+ end
26
+
27
+ def _update(collection, resource, id, data)
28
+ put("/api/v1/#{collection}/#{id}", data).body.fetch(resource, data)
29
+ end
30
+
31
+ def _create(collection, resource, data)
32
+ post("/api/v1/#{collection}", data).body.fetch(resource, data)
33
+ end
34
+
35
+ def _delete(collection, id)
36
+ delete("/api/v1/#{collection}/#{id}").body
37
+ end
38
+ end
39
+
40
+ def to_h
41
+ hash = {}
42
+ attrs.each do |attr|
43
+ val = instance_variable_get(:"@#{attr}")
44
+ hash[attr.to_sym] = val unless val.nil?
45
+ end
46
+ hash
47
+ end
48
+
49
+ private
50
+
51
+ def initialize(attrs:, params:)
52
+ attrs.each do |attr|
53
+ instance_variable_set(
54
+ "@#{attr}",
55
+ params.fetch(attr.to_s, params.fetch(attr.to_sym, nil))
56
+ )
57
+ end
58
+ end
59
+
60
+ def attrs
61
+ methods - klass_methods - excluded_attrs
62
+ end
63
+
64
+ def klass_methods
65
+ self.class.methods - [:name]
66
+ end
67
+
68
+ def excluded_attrs
69
+ %i[to_h validate]
70
+ end
71
+
72
+ def raise_for(attr)
73
+ raise Bitodeme::ValidationError.new(attr, send(:"#{attr}"))
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,34 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # Currency resource
4
+ class Currency < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :withdrawable,
8
+ :withdraw_fee,
9
+ :updated_at,
10
+ :name,
11
+ :min_withdrawable_amount,
12
+ :min_depositable_amount,
13
+ :exchangeable,
14
+ :depositable,
15
+ :deposit_fee,
16
+ :current_status,
17
+ :created_at,
18
+ :code
19
+
20
+ class << self
21
+ def all(options = {})
22
+ items = _all('currencies', options)
23
+ items.map { |item| new(item) }
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def initialize(params)
30
+ super(attrs: attrs, params: params)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,26 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # Deposit resource
4
+ class Deposit < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :id
8
+
9
+ class << self
10
+ PLURAL = 'deposits'.freeze
11
+ SINGULAR = 'deposit'.freeze
12
+
13
+ def all(options = {})
14
+ items = _all(PLURAL, options)
15
+ items.map { |item| new(item) }
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ def initialize(params)
22
+ super(attrs: attrs, params: params)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,36 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # Fund resource
4
+ class Fund < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :account_id,
8
+ :amount,
9
+ :currency_code,
10
+ :current_status,
11
+ :id,
12
+ :updated_at
13
+
14
+ class << self
15
+ PLURAL = 'funds'.freeze
16
+ SINGULAR = 'fund'.freeze
17
+
18
+ def find(code)
19
+ item = _find(PLURAL, SINGULAR, code)
20
+ new(item)
21
+ end
22
+
23
+ def all(options = {})
24
+ items = _all(PLURAL, options)
25
+ items.map { |item| new(item) }
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def initialize(params)
32
+ super(attrs: attrs, params: params)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # FundAddress resource
4
+ class FundAddress < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :account_id,
8
+ :address,
9
+ :created_at,
10
+ :currency_code,
11
+ :current_status,
12
+ :fund_id,
13
+ :id,
14
+ :is_temporary,
15
+ :updated_at
16
+
17
+ class << self
18
+ PLURAL = 'fund_addresses'.freeze
19
+ SINGULAR = 'fund_address'.freeze
20
+
21
+ def find(code)
22
+ item = _find(PLURAL, SINGULAR, code)
23
+ new(item)
24
+ end
25
+
26
+ def all(options = {})
27
+ items = _all(PLURAL, options)
28
+ items.map { |item| new(item) }
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def initialize(params)
35
+ super(attrs: attrs, params: params)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,82 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # Invoice resource
4
+ class Invoice < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :account_id,
8
+ :address,
9
+ :amount,
10
+ :created_at,
11
+ :currency_code,
12
+ :current_status,
13
+ :deleted_at,
14
+ :description,
15
+ :external_id,
16
+ :id,
17
+ :name,
18
+ :original_amount,
19
+ :original_currency_code,
20
+ :purchasable,
21
+ :updated_at
22
+
23
+ class << self
24
+ PLURAL = 'invoices'.freeze
25
+ SINGULAR = 'invoice'.freeze
26
+
27
+ def build(params)
28
+ new(params).validate
29
+ end
30
+
31
+ def find(code)
32
+ item = _find(PLURAL, SINGULAR, code)
33
+ new(item)
34
+ end
35
+
36
+ def create(invoice)
37
+ raise_for('invoice', invoice) unless invoice.is_a?(Invoice)
38
+ item = _create(PLURAL, SINGULAR, invoice: invoice.to_h)
39
+ new(item)
40
+ end
41
+
42
+ private
43
+
44
+ def raise_for(attr, val)
45
+ raise Bitodeme::ValidationError.new(attr, val)
46
+ end
47
+ end
48
+
49
+ def validate
50
+ validate_original_amount
51
+ validate_original_currency_code
52
+ validate_external_id
53
+ validate_purchasable
54
+ self
55
+ end
56
+
57
+ private
58
+
59
+ def validate_original_amount
60
+ return if /^\d{0,8}(\.\d{1,8})?$/.match?(original_amount.to_s)
61
+ raise_for('original_amount')
62
+ end
63
+
64
+ def validate_original_currency_code
65
+ return if /^[a-zA-Z]{3}$/.match?(original_currency_code.to_s)
66
+ raise_for('original_currency_code')
67
+ end
68
+
69
+ def validate_external_id
70
+ raise_for('external_id') unless external_id.is_a?(String)
71
+ end
72
+
73
+ def validate_purchasable
74
+ raise_for('purchasable') unless purchasable.is_a?(Hash)
75
+ end
76
+
77
+ def initialize(params)
78
+ super(attrs: attrs, params: params)
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,41 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # TransactionLog resource
4
+ class TransactionLog < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :account_id,
8
+ :amount,
9
+ :created_at,
10
+ :currency_code,
11
+ :current_status,
12
+ :description,
13
+ :fund_id,
14
+ :id,
15
+ :transactable_id,
16
+ :transactable_type,
17
+ :updated_at
18
+
19
+ class << self
20
+ PLURAL = 'transaction_logs'.freeze
21
+ SINGULAR = 'transaction_log'.freeze
22
+
23
+ def find(code)
24
+ item = _find(PLURAL, SINGULAR, code)
25
+ new(item)
26
+ end
27
+
28
+ def all(options = {})
29
+ items = _all(PLURAL, options)
30
+ items.map { |item| new(item) }
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def initialize(params)
37
+ super(attrs: attrs, params: params)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,65 @@
1
+ module Bitodeme
2
+ module Resource
3
+ # Withdrawal resource
4
+ class Withdrawal < Base
5
+ private_class_method :new
6
+
7
+ attr_reader :address,
8
+ :amount,
9
+ :fund_id,
10
+ :otp_value
11
+
12
+ class << self
13
+ PLURAL = 'withdrawals'.freeze
14
+ SINGULAR = 'withdrawal'.freeze
15
+
16
+ def build(params)
17
+ new(params).validate
18
+ end
19
+
20
+ def create(withdrawal)
21
+ raise_for('withdrawal') unless withdrawal.is_a?(Withdrawal)
22
+ item = _create(PLURAL, SINGULAR, withdrawal: withdrawal.to_h)
23
+ new(item)
24
+ end
25
+
26
+ private
27
+
28
+ def raise_for(attr, val)
29
+ raise Bitodeme::ValidationError.new(attr, val)
30
+ end
31
+ end
32
+
33
+ def validate
34
+ validate_address
35
+ validate_amount
36
+ validate_fund_id
37
+ validate_otp_value
38
+ self
39
+ end
40
+
41
+ private
42
+
43
+ def initialize(params)
44
+ super(attrs: attrs, params: params)
45
+ end
46
+
47
+ def validate_address
48
+ raise_for('address') unless address.is_a?(String)
49
+ end
50
+
51
+ # TODO: Validate with UUID format
52
+ def validate_fund_id
53
+ raise_for('fund_id') unless fund_id.is_a?(String)
54
+ end
55
+
56
+ def validate_amount
57
+ raise_for('amount') unless /^\d{0,8}(\.\d{1,8})?$/.match?(amount.to_s)
58
+ end
59
+
60
+ def validate_otp_value
61
+ raise_for('otp_value') unless /^\d{6}$/.match?(otp_value.to_s)
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,8 @@
1
+ module Bitodeme
2
+ # Validation Error
3
+ class ValidationError < ::StandardError
4
+ def initialize(attr, val)
5
+ super("Unacceptable value('#{val}') for '#{attr}'!")
6
+ end
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module Bitodeme
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/lib/bitodeme.rb CHANGED
@@ -1,19 +1,19 @@
1
1
  require 'json'
2
2
  require 'faraday'
3
3
  require 'faraday_middleware'
4
- require 'bitodeme/version'
5
- require 'bitodeme/error'
6
- require 'bitodeme/configuration'
7
- require 'bitodeme/auth'
8
- require 'bitodeme/conn'
9
- require 'bitodeme/resources/base'
10
- require 'bitodeme/resources/currency'
11
- require 'bitodeme/resources/deposit'
12
- require 'bitodeme/resources/fund'
13
- require 'bitodeme/resources/fund_address'
14
- require 'bitodeme/resources/invoice'
15
- require 'bitodeme/resources/transaction_log'
16
- require 'bitodeme/resources/withdrawal'
4
+ require_relative 'bitodeme/version'
5
+ require_relative 'bitodeme/validation_error'
6
+ require_relative 'bitodeme/configuration'
7
+ require_relative 'bitodeme/auth'
8
+ require_relative 'bitodeme/conn'
9
+ require_relative 'bitodeme/resources/base'
10
+ require_relative 'bitodeme/resources/currency'
11
+ require_relative 'bitodeme/resources/deposit'
12
+ require_relative 'bitodeme/resources/fund'
13
+ require_relative 'bitodeme/resources/fund_address'
14
+ require_relative 'bitodeme/resources/invoice'
15
+ require_relative 'bitodeme/resources/transaction_log'
16
+ require_relative 'bitodeme/resources/withdrawal'
17
17
 
18
18
  # Base module for Bitodome Client
19
19
  module Bitodeme
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitodeme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bitodeme Integrations Team
@@ -25,61 +25,61 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.14'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0.11'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '0.11'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: simplecov
56
+ name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.15'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.15'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.11'
75
+ version: '0.15'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.11'
82
+ version: '0.15'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: dotenv
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +139,7 @@ files:
139
139
  - ".rspec"
140
140
  - ".travis.yml"
141
141
  - Gemfile
142
+ - Gemfile.lock
142
143
  - LICENSE.txt
143
144
  - README.md
144
145
  - Rakefile
@@ -146,6 +147,18 @@ files:
146
147
  - bin/setup
147
148
  - bitodeme.gemspec
148
149
  - lib/bitodeme.rb
150
+ - lib/bitodeme/auth.rb
151
+ - lib/bitodeme/configuration.rb
152
+ - lib/bitodeme/conn.rb
153
+ - lib/bitodeme/resources/base.rb
154
+ - lib/bitodeme/resources/currency.rb
155
+ - lib/bitodeme/resources/deposit.rb
156
+ - lib/bitodeme/resources/fund.rb
157
+ - lib/bitodeme/resources/fund_address.rb
158
+ - lib/bitodeme/resources/invoice.rb
159
+ - lib/bitodeme/resources/transaction_log.rb
160
+ - lib/bitodeme/resources/withdrawal.rb
161
+ - lib/bitodeme/validation_error.rb
149
162
  - lib/bitodeme/version.rb
150
163
  homepage: https://github.com/bitodeme-integrations/bitodeme_rb
151
164
  licenses: