synapse_pay_rest 3.4.1 → 3.4.2
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 +5 -5
- data/.env.sample +2 -1
- data/.gitignore +0 -0
- data/Gemfile +0 -0
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/lib/synapse_pay_rest.rb +3 -0
- data/lib/synapse_pay_rest/api/atms.rb +0 -0
- data/lib/synapse_pay_rest/api/client.rb +0 -0
- data/lib/synapse_pay_rest/api/crypto_quotes.rb +0 -0
- data/lib/synapse_pay_rest/api/institutions.rb +0 -0
- data/lib/synapse_pay_rest/api/nodes.rb +0 -0
- data/lib/synapse_pay_rest/api/statements.rb +41 -0
- data/lib/synapse_pay_rest/api/subnets.rb +0 -0
- data/lib/synapse_pay_rest/api/subscriptions.rb +0 -0
- data/lib/synapse_pay_rest/api/transactions.rb +0 -0
- data/lib/synapse_pay_rest/api/users.rb +0 -0
- data/lib/synapse_pay_rest/client.rb +2 -1
- data/lib/synapse_pay_rest/error.rb +0 -0
- data/lib/synapse_pay_rest/http_client.rb +0 -0
- data/lib/synapse_pay_rest/models/atm/atm.rb +0 -0
- data/lib/synapse_pay_rest/models/client/issue_public_key.rb +0 -0
- data/lib/synapse_pay_rest/models/crypto_quote/crypto_quote.rb +0 -0
- data/lib/synapse_pay_rest/models/institution/institution.rb +0 -0
- data/lib/synapse_pay_rest/models/node/ach_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/base_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/card_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/check_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/clearing_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/crypto_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/deposit_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/eft_ind_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/eft_np_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/ib_deposit_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/ib_subaccount_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/interchange_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/iou_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/reserve_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/subaccount_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/subcard_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/synapse_ind_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/synapse_np_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/synapse_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/triumph_subaccount_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/unverified_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/wire_int_node.rb +0 -0
- data/lib/synapse_pay_rest/models/node/wire_us_node.rb +0 -0
- data/lib/synapse_pay_rest/models/statement/statement.rb +80 -0
- data/lib/synapse_pay_rest/models/subnet/subnet.rb +0 -0
- data/lib/synapse_pay_rest/models/subscription/subscription.rb +0 -0
- data/lib/synapse_pay_rest/models/transaction/transaction.rb +0 -0
- data/lib/synapse_pay_rest/models/user/base_document.rb +0 -0
- data/lib/synapse_pay_rest/models/user/document.rb +0 -0
- data/lib/synapse_pay_rest/models/user/physical_document.rb +0 -0
- data/lib/synapse_pay_rest/models/user/question.rb +0 -0
- data/lib/synapse_pay_rest/models/user/social_document.rb +0 -0
- data/lib/synapse_pay_rest/models/user/user.rb +0 -0
- data/lib/synapse_pay_rest/models/user/virtual_document.rb +0 -0
- data/lib/synapse_pay_rest/version.rb +1 -1
- data/samples.md +26 -0
- data/synapse_pay_rest.gemspec +0 -0
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 5c739268324bccef13ac3b3cfdcf97c6de821b0acfd30ec0ab8df1a7b7d4466a
|
|
4
|
+
data.tar.gz: 8b19a633a2da3cf57040b3d765a5b71e12231b30fa008b44eef0a94ec649b801
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e3f12fd2df17e7b2f6b0c2f805497dd30ce031299af3eadc1ed38ee8ef0fd1819791d5c1d2673200cfd5adc9e50ee271339978f1c7d704f3160e99a7e0a16f4e
|
|
7
|
+
data.tar.gz: 243fa3411c03815f237cf606d4882ac34bf993897d5ce71815873b85af43fa8c842eb392a5c0661b4e30683b87afd76f7c067d86239284209715d3e4093f9ac6
|
data/.env.sample
CHANGED
data/.gitignore
CHANGED
|
File without changes
|
data/Gemfile
CHANGED
|
File without changes
|
data/LICENSE
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
data/lib/synapse_pay_rest.rb
CHANGED
|
@@ -12,6 +12,7 @@ require 'synapse_pay_rest/api/institutions'
|
|
|
12
12
|
require 'synapse_pay_rest/api/client'
|
|
13
13
|
require 'synapse_pay_rest/api/atms'
|
|
14
14
|
require 'synapse_pay_rest/api/crypto_quotes'
|
|
15
|
+
require 'synapse_pay_rest/api/statements'
|
|
15
16
|
|
|
16
17
|
# general library classes
|
|
17
18
|
require 'synapse_pay_rest/error'
|
|
@@ -88,6 +89,8 @@ require 'synapse_pay_rest/models/atm/atm'
|
|
|
88
89
|
|
|
89
90
|
require 'synapse_pay_rest/models/crypto_quote/crypto_quote'
|
|
90
91
|
|
|
92
|
+
require 'synapse_pay_rest/models/statement/statement'
|
|
93
|
+
|
|
91
94
|
|
|
92
95
|
# Namespace for all SynapsePayRest classes and modules
|
|
93
96
|
module SynapsePayRest
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module SynapsePayRest
|
|
2
|
+
# Wrapper class for /client endpoint
|
|
3
|
+
class Statements
|
|
4
|
+
|
|
5
|
+
# Valid optional args for #get
|
|
6
|
+
# @todo Should refactor this to HTTPClient
|
|
7
|
+
VALID_QUERY_PARAMS = [:page, :per_page].freeze
|
|
8
|
+
|
|
9
|
+
# @!attribute [rw] client
|
|
10
|
+
# @return [SynapsePayRest::HTTPClient]
|
|
11
|
+
attr_accessor :client
|
|
12
|
+
|
|
13
|
+
# @param client [SynapsePayRest::HTTPClient]
|
|
14
|
+
def initialize(client)
|
|
15
|
+
@client = client
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Sends a GET request /node or /user statments endpoint to retrieve statements, and returns the
|
|
19
|
+
# response.
|
|
20
|
+
#
|
|
21
|
+
# @param user_id [String]
|
|
22
|
+
# @param node_id [String] optional
|
|
23
|
+
#
|
|
24
|
+
# @raise [SynapsePayRest::Error] may return subclasses of error based on
|
|
25
|
+
# HTTP response from API
|
|
26
|
+
#
|
|
27
|
+
# @return [Hash] API response
|
|
28
|
+
def get(user_id:, node_id: nil, **options)
|
|
29
|
+
params = VALID_QUERY_PARAMS.map do |p|
|
|
30
|
+
options[p] ? "#{p}=#{options[p]}" : nil
|
|
31
|
+
end.compact
|
|
32
|
+
|
|
33
|
+
path = "/users/#{user_id}"
|
|
34
|
+
path += "/nodes/#{node_id}" if node_id
|
|
35
|
+
path += "/statements"
|
|
36
|
+
path += '?' + params.join('&') if params.any?
|
|
37
|
+
client.get(path)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -14,7 +14,7 @@ module SynapsePayRest
|
|
|
14
14
|
# @!attribute [rw] subscriptions
|
|
15
15
|
# @return [SynapsePayRest::Subscriptions]
|
|
16
16
|
attr_accessor :http_client, :users, :nodes, :subnets, :transactions, :subscriptions, :institutions,
|
|
17
|
-
:client_endpoint, :atms, :crypto_quotes
|
|
17
|
+
:client_endpoint, :atms, :crypto_quotes, :statements
|
|
18
18
|
|
|
19
19
|
# Alias for #transactions (legacy name)
|
|
20
20
|
alias_method :trans, :transactions
|
|
@@ -51,6 +51,7 @@ module SynapsePayRest
|
|
|
51
51
|
@client_endpoint = ClientEndpoint.new @http_client
|
|
52
52
|
@atms = Atms.new @http_client
|
|
53
53
|
@crypto_quotes = CryptoQuotes.new @http_client
|
|
54
|
+
@statements = Statements.new @http_client
|
|
54
55
|
end
|
|
55
56
|
|
|
56
57
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
module SynapsePayRest
|
|
2
|
+
# Represents a statement record and holds methods for getting statements
|
|
3
|
+
# from API calls. This is built on top of the SynapsePayRest::Client class and
|
|
4
|
+
# is intended to make it easier to use the API without knowing payload formats
|
|
5
|
+
# or knowledge of REST.
|
|
6
|
+
class Statement
|
|
7
|
+
attr_reader :client, :id, :date_end, :date_start, :csv_url, :pdf_url, :user, :node
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
# Creates a statements instance from a response hash.
|
|
11
|
+
# @note Shouldn't need to call this directly.
|
|
12
|
+
def from_response(client, response)
|
|
13
|
+
args = {
|
|
14
|
+
client: client,
|
|
15
|
+
id: response['_id'],
|
|
16
|
+
date_end: response['date_end'],
|
|
17
|
+
date_start: response['date_start'],
|
|
18
|
+
csv_url: response['urls']['csv'],
|
|
19
|
+
pdf_url: response['urls']['pdf']
|
|
20
|
+
}
|
|
21
|
+
self.new(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Gets statement by node or user.
|
|
25
|
+
# @param client [SynapsePayRest::Client]
|
|
26
|
+
# @param user [SynapsePayRest::User]
|
|
27
|
+
#
|
|
28
|
+
# @raise [SynapsePayRest::Error]
|
|
29
|
+
#
|
|
30
|
+
# @return [SynapsePayRest::Statement] new instance corresponding to same API record
|
|
31
|
+
def by_user(client:, user:, page: nil, per_page: nil)
|
|
32
|
+
raise ArgumentError, 'client must be a SynapsePayRest::Client' unless client.is_a?(Client)
|
|
33
|
+
raise ArgumentError, 'id must be a SynapsePayRest::User' unless user.is_a?(User)
|
|
34
|
+
|
|
35
|
+
[page, per_page].each do |arg|
|
|
36
|
+
if arg && (!arg.is_a?(Integer) || arg < 1)
|
|
37
|
+
raise ArgumentError, "#{arg} must be nil or an Integer >= 1"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
response = client.statements.get(user_id: user.id, page: page, per_page: per_page)
|
|
42
|
+
multiple_from_response(client, response['statements'])
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Gets statement by node or user.
|
|
46
|
+
# @param client [SynapsePayRest::Client]
|
|
47
|
+
# @param user [SynapsePayRest::Node]
|
|
48
|
+
#
|
|
49
|
+
# @raise [SynapsePayRest::Error]
|
|
50
|
+
#
|
|
51
|
+
# @return [SynapsePayRest::Statement] new instance corresponding to same API record
|
|
52
|
+
def by_node(client:, node:, page: nil, per_page: nil)
|
|
53
|
+
raise ArgumentError, 'client must be a SynapsePayRest::Client' unless client.is_a?(Client)
|
|
54
|
+
raise ArgumentError, 'node must be a SynapsePayRest::Node' unless node.is_a?(BaseNode)
|
|
55
|
+
|
|
56
|
+
[page, per_page].each do |arg|
|
|
57
|
+
if arg && (!arg.is_a?(Integer) || arg < 1)
|
|
58
|
+
raise ArgumentError, "#{arg} must be nil or an Integer >= 1"
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
response = client.statements.get(user_id: node.user.id, node_id: node.id, page: page, per_page: per_page)
|
|
63
|
+
multiple_from_response(client, response['statements'])
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def multiple_from_response(client, response)
|
|
67
|
+
return [] if response.empty?
|
|
68
|
+
response.map { |statement_data| from_response(client, statement_data) }
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @note Do not call directly. Use Statement.get or other class method
|
|
74
|
+
# to instantiate via API action.
|
|
75
|
+
def initialize(**options)
|
|
76
|
+
options.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/samples.md
CHANGED
|
@@ -1407,3 +1407,29 @@ atm_args = {
|
|
|
1407
1407
|
atms = SynapsePayRest::Atm.locate(atm_args)
|
|
1408
1408
|
# => [#<SynapsePayRest::Atm>, #<SynapsePayRest::Atm>, ...]
|
|
1409
1409
|
```
|
|
1410
|
+
|
|
1411
|
+
## Get Statement Method
|
|
1412
|
+
|
|
1413
|
+
#### Get Statement By User or Node
|
|
1414
|
+
|
|
1415
|
+
##### a) Statement#by_user
|
|
1416
|
+
|
|
1417
|
+
```ruby
|
|
1418
|
+
user = SynapsePayRest::User.find(client: client, id: '5b5f95dc83403300fbc76')
|
|
1419
|
+
|
|
1420
|
+
statements = SynapsePayRest::Statement.by_user(client: client, user: user)
|
|
1421
|
+
# => [#<SynapsePayRest::Statement>, #<SynapsePayRest::Statement>, ...]
|
|
1422
|
+
```
|
|
1423
|
+
|
|
1424
|
+
##### b) Statement#by_node
|
|
1425
|
+
|
|
1426
|
+
```ruby
|
|
1427
|
+
user = SynapsePayRest::User.find(client: client, id: '5b5f95dc83403300fbc76')
|
|
1428
|
+
|
|
1429
|
+
node = user.find_node(id: '5b634a241jngjnei04c7b39b1')
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
statements = SynapsePayRest::Statement.by_node(client: client, node: node)
|
|
1434
|
+
# => [#<SynapsePayRest::Statement>, #<SynapsePayRest::Statement>, ...]
|
|
1435
|
+
```
|
data/synapse_pay_rest.gemspec
CHANGED
|
File without changes
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: synapse_pay_rest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.
|
|
4
|
+
version: 3.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Steven Broderick
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2018-
|
|
12
|
+
date: 2018-09-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rest-client
|
|
@@ -156,6 +156,7 @@ files:
|
|
|
156
156
|
- lib/synapse_pay_rest/api/crypto_quotes.rb
|
|
157
157
|
- lib/synapse_pay_rest/api/institutions.rb
|
|
158
158
|
- lib/synapse_pay_rest/api/nodes.rb
|
|
159
|
+
- lib/synapse_pay_rest/api/statements.rb
|
|
159
160
|
- lib/synapse_pay_rest/api/subnets.rb
|
|
160
161
|
- lib/synapse_pay_rest/api/subscriptions.rb
|
|
161
162
|
- lib/synapse_pay_rest/api/transactions.rb
|
|
@@ -191,6 +192,7 @@ files:
|
|
|
191
192
|
- lib/synapse_pay_rest/models/node/unverified_node.rb
|
|
192
193
|
- lib/synapse_pay_rest/models/node/wire_int_node.rb
|
|
193
194
|
- lib/synapse_pay_rest/models/node/wire_us_node.rb
|
|
195
|
+
- lib/synapse_pay_rest/models/statement/statement.rb
|
|
194
196
|
- lib/synapse_pay_rest/models/subnet/subnet.rb
|
|
195
197
|
- lib/synapse_pay_rest/models/subscription/subscription.rb
|
|
196
198
|
- lib/synapse_pay_rest/models/transaction/transaction.rb
|
|
@@ -224,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
224
226
|
version: '0'
|
|
225
227
|
requirements: []
|
|
226
228
|
rubyforge_project:
|
|
227
|
-
rubygems_version: 2.
|
|
229
|
+
rubygems_version: 2.7.6
|
|
228
230
|
signing_key:
|
|
229
231
|
specification_version: 4
|
|
230
232
|
summary: SynapsePay v3 Rest Native API Library
|