starling-ruby 0.1.0 → 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 +4 -4
- data/.circleci/config.yml +8 -0
- data/.gitignore +1 -0
- data/.reek +27 -0
- data/.rubocop.yml +6 -4
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +37 -2
- data/README.md +102 -17
- data/bin/console +2 -6
- data/lib/starling.rb +40 -7
- data/lib/starling/api_service.rb +45 -37
- data/lib/starling/client.rb +165 -6
- data/lib/starling/errors/api_error.rb +35 -2
- data/lib/starling/errors/base_error.rb +6 -24
- data/lib/starling/middlewares/raise_starling_errors.rb +11 -10
- data/lib/starling/request.rb +17 -19
- data/lib/starling/resources/account_balance_resource.rb +14 -6
- data/lib/starling/resources/account_resource.rb +10 -0
- data/lib/starling/resources/address_resource.rb +26 -0
- data/lib/starling/resources/addresses_resource.rb +18 -0
- data/lib/starling/resources/base_resource.rb +34 -9
- data/lib/starling/resources/card_resource.rb +46 -0
- data/lib/starling/resources/contact_account_resource.rb +31 -0
- data/lib/starling/resources/contact_resource.rb +16 -0
- data/lib/starling/resources/customer_resource.rb +36 -0
- data/lib/starling/resources/direct_debit_mandate_resource.rb +43 -0
- data/lib/starling/resources/direct_debit_transaction_resource.rb +54 -0
- data/lib/starling/resources/inbound_faster_payments_transaction_resource.rb +56 -0
- data/lib/starling/resources/mastercard_transaction_resource.rb +73 -0
- data/lib/starling/resources/me_resource.rb +26 -0
- data/lib/starling/resources/merchant_location_resource.rb +33 -0
- data/lib/starling/resources/merchant_resource.rb +34 -0
- data/lib/starling/resources/outbound_faster_payments_transaction_resource.rb +56 -0
- data/lib/starling/resources/payment_resource.rb +78 -0
- data/lib/starling/resources/transaction_resource.rb +42 -0
- data/lib/starling/services/account_balance_service.rb +11 -2
- data/lib/starling/services/account_service.rb +16 -3
- data/lib/starling/services/addresses_service.rb +26 -0
- data/lib/starling/services/base_service.rb +22 -1
- data/lib/starling/services/card_service.rb +26 -0
- data/lib/starling/services/contact_accounts_service.rb +54 -0
- data/lib/starling/services/contacts_service.rb +73 -0
- data/lib/starling/services/customer_service.rb +25 -0
- data/lib/starling/services/direct_debit_mandates_service.rb +61 -0
- data/lib/starling/services/direct_debit_transactions_service.rb +46 -0
- data/lib/starling/services/inbound_faster_payments_transactions_service.rb +46 -0
- data/lib/starling/services/mastercard_transactions_service.rb +30 -0
- data/lib/starling/services/me_service.rb +26 -0
- data/lib/starling/services/merchant_locations_service.rb +34 -0
- data/lib/starling/services/merchants_service.rb +26 -0
- data/lib/starling/services/outbound_faster_payments_transactions_service.rb +46 -0
- data/lib/starling/services/payments_service.rb +30 -0
- data/lib/starling/services/transactions_service.rb +44 -0
- data/lib/starling/utils.rb +30 -0
- data/lib/starling/version.rb +1 -1
- data/starling-ruby.gemspec +2 -0
- metadata +63 -2
@@ -0,0 +1,44 @@
|
|
1
|
+
module Starling
|
2
|
+
module Services
|
3
|
+
# A service for accessing the Transactions API
|
4
|
+
class TransactionsService < BaseService
|
5
|
+
# @param id [String] The Starling internal ID of the transaction
|
6
|
+
# @param params [Hash] Parameters which will be included in the HTTP request,
|
7
|
+
# included in the URL as a query string
|
8
|
+
# @param headers [Hash] Headers which be included in the HTTP request, merged on
|
9
|
+
# top of the headers set at the {Client} level
|
10
|
+
# @return [Resources::TransactionResource]
|
11
|
+
# @raise [Errors::ApiError] if the HTTP request returns a status indicating that it
|
12
|
+
# was unsuccessful
|
13
|
+
def get(id, params: {}, headers: {})
|
14
|
+
response = api_service.make_request(:get,
|
15
|
+
"/transactions/#{id}",
|
16
|
+
params: params,
|
17
|
+
headers: headers)
|
18
|
+
resource.new(response: response)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @param params [Hash] Parameters which will be included in the HTTP request,
|
22
|
+
# included in the URL as a query string
|
23
|
+
# @param headers [Hash] Headers which be included in the HTTP request, merged on
|
24
|
+
# top of the headers set at the {Client} level
|
25
|
+
# @return [Array<Resources::TransactionResource>]
|
26
|
+
# @raise [Errors::ApiError] if the HTTP request returns a status indicating that it
|
27
|
+
# was unsuccessful
|
28
|
+
def list(params: {}, headers: {})
|
29
|
+
response = api_service.make_request(:get, '/transactions', params: params,
|
30
|
+
headers: headers)
|
31
|
+
|
32
|
+
build_collection_from_embedded_key(response,
|
33
|
+
key: 'transactions',
|
34
|
+
resource: resource)
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def resource
|
40
|
+
Resources::TransactionResource
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Starling
|
2
|
+
# A collection of utility methods used across starling-ruby
|
3
|
+
class Utils
|
4
|
+
class << self
|
5
|
+
# @return [String] The gem's name and version
|
6
|
+
def gem_info
|
7
|
+
return 'starling-ruby' unless defined?(Starling::VERSION)
|
8
|
+
"starling-ruby/v#{Starling::VERSION}"
|
9
|
+
end
|
10
|
+
|
11
|
+
# @return [String] The Ruby engine this code is currently running on
|
12
|
+
def ruby_engine
|
13
|
+
defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [String] The Ruby version and patchlevel this code is currently running
|
17
|
+
# on
|
18
|
+
def ruby_version
|
19
|
+
return RUBY_VERSION unless defined?(RUBY_PATCHLEVEL)
|
20
|
+
RUBY_VERSION + "p#{RUBY_PATCHLEVEL}"
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return [String] The JRuby interpreter version this code is currently running on,
|
24
|
+
# or the Ruby version for non-JRuby environments
|
25
|
+
def interpreter_version
|
26
|
+
defined?(JRUBY_VERSION) ? JRUBY_VERSION : RUBY_VERSION
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/starling/version.rb
CHANGED
data/starling-ruby.gemspec
CHANGED
@@ -30,4 +30,6 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'pry', '~> 0.10.4'
|
31
31
|
spec.add_development_dependency 'values', '~> 1.8.0'
|
32
32
|
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.2.3'
|
33
|
+
spec.add_development_dependency 'yard', '~> 0.8.7.6'
|
34
|
+
spec.add_development_dependency 'reek', '~> 4.7.0'
|
33
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: starling-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Rogers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -156,6 +156,34 @@ dependencies:
|
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: 0.2.3
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: yard
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 0.8.7.6
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 0.8.7.6
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: reek
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 4.7.0
|
180
|
+
type: :development
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: 4.7.0
|
159
187
|
description:
|
160
188
|
email:
|
161
189
|
- tim@gocardless.com
|
@@ -165,6 +193,7 @@ extra_rdoc_files: []
|
|
165
193
|
files:
|
166
194
|
- ".circleci/config.yml"
|
167
195
|
- ".gitignore"
|
196
|
+
- ".reek"
|
168
197
|
- ".rspec"
|
169
198
|
- ".rubocop.yml"
|
170
199
|
- CHANGELOG.md
|
@@ -185,10 +214,42 @@ files:
|
|
185
214
|
- lib/starling/request.rb
|
186
215
|
- lib/starling/resources/account_balance_resource.rb
|
187
216
|
- lib/starling/resources/account_resource.rb
|
217
|
+
- lib/starling/resources/address_resource.rb
|
218
|
+
- lib/starling/resources/addresses_resource.rb
|
188
219
|
- lib/starling/resources/base_resource.rb
|
220
|
+
- lib/starling/resources/card_resource.rb
|
221
|
+
- lib/starling/resources/contact_account_resource.rb
|
222
|
+
- lib/starling/resources/contact_resource.rb
|
223
|
+
- lib/starling/resources/customer_resource.rb
|
224
|
+
- lib/starling/resources/direct_debit_mandate_resource.rb
|
225
|
+
- lib/starling/resources/direct_debit_transaction_resource.rb
|
226
|
+
- lib/starling/resources/inbound_faster_payments_transaction_resource.rb
|
227
|
+
- lib/starling/resources/mastercard_transaction_resource.rb
|
228
|
+
- lib/starling/resources/me_resource.rb
|
229
|
+
- lib/starling/resources/merchant_location_resource.rb
|
230
|
+
- lib/starling/resources/merchant_resource.rb
|
231
|
+
- lib/starling/resources/outbound_faster_payments_transaction_resource.rb
|
232
|
+
- lib/starling/resources/payment_resource.rb
|
233
|
+
- lib/starling/resources/transaction_resource.rb
|
189
234
|
- lib/starling/services/account_balance_service.rb
|
190
235
|
- lib/starling/services/account_service.rb
|
236
|
+
- lib/starling/services/addresses_service.rb
|
191
237
|
- lib/starling/services/base_service.rb
|
238
|
+
- lib/starling/services/card_service.rb
|
239
|
+
- lib/starling/services/contact_accounts_service.rb
|
240
|
+
- lib/starling/services/contacts_service.rb
|
241
|
+
- lib/starling/services/customer_service.rb
|
242
|
+
- lib/starling/services/direct_debit_mandates_service.rb
|
243
|
+
- lib/starling/services/direct_debit_transactions_service.rb
|
244
|
+
- lib/starling/services/inbound_faster_payments_transactions_service.rb
|
245
|
+
- lib/starling/services/mastercard_transactions_service.rb
|
246
|
+
- lib/starling/services/me_service.rb
|
247
|
+
- lib/starling/services/merchant_locations_service.rb
|
248
|
+
- lib/starling/services/merchants_service.rb
|
249
|
+
- lib/starling/services/outbound_faster_payments_transactions_service.rb
|
250
|
+
- lib/starling/services/payments_service.rb
|
251
|
+
- lib/starling/services/transactions_service.rb
|
252
|
+
- lib/starling/utils.rb
|
192
253
|
- lib/starling/version.rb
|
193
254
|
- starling-ruby.gemspec
|
194
255
|
homepage: https://github.com/timrogers/starling-ruby
|