solidgate-ruby-sdk 0.1.16 → 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
  SHA256:
3
- metadata.gz: c383b6818ffe0cb65f4ae7e2238366881cbf85f32b6912e7099d25012265dcef
4
- data.tar.gz: 767e91daa1a9f52f45c3dd281323e03bc9893007d9660273d22750774e282c01
3
+ metadata.gz: 0cc47da7070971ded0369dbc9c2585f4a5a35990cd71dee534abaa417eb1926f
4
+ data.tar.gz: c83e001aaf639127e66217c80afa0b7c7da03e852e16518fa167a15697bc1802
5
5
  SHA512:
6
- metadata.gz: bfd4c40491693950de2150bba7314306e86906ad04e49280b6279189746b062f2587147ba432048373b1e7362bb21fdd5abb3a899a84c9231e3ac547b3d2402a
7
- data.tar.gz: cb951b87a82ae8f78a35eb81c9c353ac92302e784913f6ea38f05b81d26b137dccf0431907ce79bd25d5072aeeaf83e33cae4a29878a24622f899a6fc402805b
6
+ metadata.gz: 32cf87089a35994c5a93c701c4652ee7e534f2ec492a79df05089cb8dd67646ee9b46cc5b584ffe821de2ed6c56bddc3393075c22da7dc5d4359ea36481493e8
7
+ data.tar.gz: 6e2b585477f4c0d7a654ad05bf42ce1c59a9e3f47a49998f5c3ba5a119f6caa7d22f8af1176478a07a011f4548e0d1a6dfa7fde5cdf59e5fc5507c70c788f0ec
data/AGENTS.md CHANGED
@@ -5,6 +5,9 @@
5
5
  Solidgate Ruby SDK is an unofficial Ruby library for integrating with the Solidgate payment gateway API.
6
6
  It provides a clean, object-oriented interface for payment processing, subscription management, and webhook handling.
7
7
 
8
+ ## Integration Documentation
9
+ - Payment integration guide for humans and LLM agents: `docs/payment-integration-guide.md`
10
+
8
11
  ## Project Structure
9
12
 
10
13
  ### Core Components
@@ -32,9 +35,9 @@ It provides a clean, object-oriented interface for payment processing, subscript
32
35
  - Handles authentication via HMAC-SHA512 signatures
33
36
  - Provides methods for all Solidgate API endpoints:
34
37
  - Payment operations: `create_payment`, `get_payment`, `capture_payment`, `void_payment`, `refund_payment`, `settle_payment`
35
- - Subscription operations: `create_subscription`, `subscription_status`, `switch_subscription_product`, `update_subscription_pause`, `create_subscription_pause`, `delete_subscription_pause`, `cancel_subscription`, `restore_subscription`
36
- - Product operations: `create_product`, `create_price`, `products`, `product_prices`, `update_product_price`
37
- - Utility methods: `generate_intent`, `generate_signature`, `refund`, `order_status`
38
+ - Subscription operations: `create_subscription`, `subscription_status`, `switch_subscription_product`, `update_subscription_pause`, `create_subscription_pause`, `delete_subscription_pause`, `cancel_subscription`, `restore_subscription`, `update_subscription_payment_method`
39
+ - Product operations: `create_product`, `update_product`, `create_price`, `products`, `product_prices`, `update_product_price`
40
+ - Utility methods: `generate_intent`, `generate_signature`, `refund`, `alt_refund`, `order_status`, `apm_order_status`, `make_card_recurring`, `make_apm_recurring`
38
41
  - Private methods for HTTP operations: `get`, `post`, `patch`, `delete`, `request`
39
42
  - Encryption: `encrypt_payload` for payment intent generation (AES-256-CBC)
40
43
 
@@ -62,7 +65,7 @@ It provides a clean, object-oriented interface for payment processing, subscript
62
65
  - `Solidgate::ValidationError` - Parameter validation (includes errors hash)
63
66
 
64
67
  #### `lib/solidgate/version.rb`
65
- - Version constant: `Solidgate::VERSION = "0.1.13"`
68
+ - Version constant: `Solidgate::VERSION = "0.2.0"`
66
69
 
67
70
  ### Test Structure
68
71
 
data/CHANGELOG.md CHANGED
@@ -7,10 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.0] - 2026-05-05
11
+ ### Added
12
+ - `apm_order_status` endpoint for checking alternative payment method order status.
13
+ - Spec coverage for previously untested client methods added in this worktree.
14
+
15
+ ### Fixed
16
+ - Recurring payment spec coverage bug affecting the recurring endpoint test suite.
17
+
18
+ ### Changed
19
+ - Documentation updates and version bump for the `0.2.0` release.
20
+
21
+ ## [0.1.17] - 2026-03-03
22
+ ### Added
23
+ - `update_product` endpoint (`Solidgate::Client#update_product`) to modify product attributes.
24
+
25
+ ### Changed
26
+ - Bumped SDK version to `0.1.17`.
27
+
10
28
  ## [0.1.16] - 2026-02-23
11
29
  ### Added
12
30
  - `alt_refund` endpoint to create refunds using an alternative payment method (`Solidgate::Client#alt_refund`).
13
31
 
32
+ ## [0.1.15] - 2026-02-20
33
+ ### Added
34
+ - `make_apm_recurring` endpoint to create recurring alternative payment method charges (`Solidgate::Client#make_apm_recurring`).
35
+
36
+ ## [0.1.14] - 2026-02-17
37
+ ### Added
38
+ - `make_card_recurring` endpoint to create recurring card charges (`Solidgate::Client#make_card_recurring`).
39
+
14
40
  ## [0.1.13] - 2026-02-13
15
41
  ### Added
16
42
  - `order_status` endpoint to check order/payment status on `pay.solidgate.com` (`Solidgate::Client#order_status`).
@@ -68,7 +94,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
68
94
  - Thread-safe configuration
69
95
  - Comprehensive documentation and examples
70
96
 
71
- [Unreleased]: https://github.com/carrfane/solidgate-ruby-sdk/compare/v0.1.13...HEAD
97
+ [Unreleased]: https://github.com/carrfane/solidgate-ruby-sdk/compare/v0.2.0...HEAD
98
+ [0.2.0]: https://github.com/carrfane/solidgate-ruby-sdk/compare/v0.1.17...v0.2.0
99
+ [0.1.17]: https://github.com/carrfane/solidgate-ruby-sdk/releases/tag/v0.1.17
100
+ [0.1.16]: https://github.com/carrfane/solidgate-ruby-sdk/releases/tag/v0.1.16
101
+ [0.1.15]: https://github.com/carrfane/solidgate-ruby-sdk/compare/v0.1.14...v0.1.15
102
+ [0.1.14]: https://github.com/carrfane/solidgate-ruby-sdk/compare/v0.1.13...v0.1.14
72
103
  [0.1.13]: https://github.com/carrfane/solidgate-ruby-sdk/releases/tag/v0.1.13
73
104
  [0.1.12]: https://github.com/carrfane/solidgate-ruby-sdk/releases/tag/v0.1.12
74
105
  [0.1.11]: https://github.com/carrfane/solidgate-ruby-sdk/releases/tag/v0.1.11
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- solidgate-ruby-sdk (0.1.16)
4
+ solidgate-ruby-sdk (0.2.0)
5
5
  faraday
6
6
  faraday-multipart
7
7
 
data/README.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  A Ruby (unofficial) SDK for integrating with the Solidgate payment gateway API.
6
6
 
7
+ ## Additional Documentation
8
+
9
+ - Integration guide for payments (humans and LLM agents): `docs/payment-integration-guide.md`
10
+
7
11
  ## Installation
8
12
 
9
13
  Add this line to your application's Gemfile:
@@ -112,8 +116,32 @@ client.refund_payment('payment_id_123', amount: 500, reason: 'Customer requested
112
116
  # Refund by order ID (pay.solidgate.com)
113
117
  client.refund(order_id: 'order_123', amount: 1000)
114
118
 
119
+ # Refund an alternative payment method order (gate.solidgate.com)
120
+ client.alt_refund(order_id: 'apm_order_123', amount: 750)
121
+
115
122
  # Check order status (pay.solidgate.com)
116
123
  client.order_status(order_id: 'order_123')
124
+
125
+ # Check alternative payment method order status (gate.solidgate.com)
126
+ client.apm_order_status(order_id: 'apm_order_123')
127
+
128
+ # Charge a saved card payment method for a recurring payment
129
+ client.make_card_recurring(
130
+ order_id: 'renewal_order_123',
131
+ amount: 1999,
132
+ currency: 'USD',
133
+ customer_email: 'customer@example.com',
134
+ token: 'card_tok_abc123'
135
+ )
136
+
137
+ # Charge a saved APM payment method for a recurring payment
138
+ client.make_apm_recurring(
139
+ order_id: 'apm_renewal_123',
140
+ amount: 1499,
141
+ currency: 'EUR',
142
+ customer_email: 'customer@example.com',
143
+ token: 'apm_tok_xyz789'
144
+ )
117
145
  ```
118
146
 
119
147
  ### Subscription Management
@@ -202,6 +230,12 @@ product = client.create_product(
202
230
  type: 'subscription'
203
231
  )
204
232
 
233
+ # Update an existing product
234
+ client.update_product('product_id_123',
235
+ name: 'Premium Plan Plus',
236
+ description: 'Updated product description'
237
+ )
238
+
205
239
  # Create a price for a product
206
240
  price = client.create_price('product_id_123',
207
241
  amount: 1999, # $19.99 in cents
@@ -0,0 +1,266 @@
1
+ # Solidgate Ruby SDK Integration Guide (Payments)
2
+
3
+ > Target version: `solidgate-ruby-sdk` `0.2.0`
4
+ > Audience: engineers and LLM agents integrating Solidgate payments in Ruby apps.
5
+
6
+ ## 1) What this SDK provides
7
+
8
+ Core entrypoints:
9
+
10
+ - `Solidgate.configure` for global credentials/config
11
+ - `Solidgate::Client` as the low-level API client (recommended for full control)
12
+ - `Solidgate::Payment` as a higher-level payment wrapper
13
+ - `Solidgate::Webhook` for webhook signature validation
14
+
15
+ Main domains used by the SDK:
16
+
17
+ - `https://subscriptions.solidgate.com` (default API base)
18
+ - `https://pay.solidgate.com` (refund/order-status/recurring card flows)
19
+ - `https://gate.solidgate.com` (alternative refund/APM recurring flows)
20
+
21
+ ---
22
+
23
+ ## 2) Install and initialize
24
+
25
+ ### Gem installation
26
+
27
+ ```ruby
28
+ # Gemfile
29
+ gem "solidgate-ruby-sdk"
30
+ ```
31
+
32
+ Then:
33
+
34
+ ```bash
35
+ bundle install
36
+ ```
37
+
38
+ ### Require and configure
39
+
40
+ ```ruby
41
+ require "solidgate-ruby-sdk"
42
+
43
+ Solidgate.configure do |config|
44
+ config.public_key = ENV.fetch("SOLIDGATE_PUBLIC_KEY")
45
+ config.private_key = ENV.fetch("SOLIDGATE_PRIVATE_KEY")
46
+ config.webhook_public_key = ENV["SOLIDGATE_WEBHOOK_PUBLIC_KEY"]
47
+ config.webhook_private_key = ENV["SOLIDGATE_WEBHOOK_PRIVATE_KEY"]
48
+
49
+ # Optional
50
+ config.sandbox = true
51
+ config.timeout = 30
52
+ config.open_timeout = 10
53
+ # config.api_url = "https://custom.example.com" # optional override
54
+ end
55
+ ```
56
+
57
+ Environment variables commonly used:
58
+
59
+ - `SOLIDGATE_PUBLIC_KEY`
60
+ - `SOLIDGATE_PRIVATE_KEY`
61
+ - `SOLIDGATE_WEBHOOK_PUBLIC_KEY`
62
+ - `SOLIDGATE_WEBHOOK_PRIVATE_KEY`
63
+
64
+ ---
65
+
66
+ ## 3) Quick start payment flow
67
+
68
+ Use `Solidgate::Client` directly for integration scripts and backend services.
69
+
70
+ ```ruby
71
+ client = Solidgate::Client.new
72
+
73
+ # 1) Create charge
74
+ created = client.create_payment(
75
+ order_id: "order_123",
76
+ amount: 1000, # minor units (e.g., cents)
77
+ currency: "USD",
78
+ customer_email: "customer@example.com"
79
+ )
80
+
81
+ payment_id = created["id"] || created["payment_id"]
82
+
83
+ # 2) Get payment details/status
84
+ payment = client.get_payment(payment_id)
85
+
86
+ # 3a) Capture (for auth flow)
87
+ captured = client.capture_payment(payment_id)
88
+ # or partial capture
89
+ # captured = client.capture_payment(payment_id, amount: 500)
90
+
91
+ # 3b) Void (if authorized and not captured)
92
+ # voided = client.void_payment(payment_id)
93
+
94
+ # 3c) Refund by payment_id
95
+ refunded = client.refund_payment(payment_id, amount: 300, reason: "partial_refund")
96
+ ```
97
+
98
+ ---
99
+
100
+ ## 4) API methods relevant for payments
101
+
102
+ ### Charges (`subscriptions.solidgate.com`)
103
+
104
+ - `create_payment(params)` -> `POST /v1/charge`
105
+ - `get_payment(payment_id)` -> `GET /v1/charge/:payment_id`
106
+ - `capture_payment(payment_id, params = {})` -> `POST /v1/charge/:payment_id/capture`
107
+ - `void_payment(payment_id)` -> `POST /v1/charge/:payment_id/void`
108
+ - `refund_payment(payment_id, params = {})` -> `POST /v1/charge/:payment_id/refund`
109
+
110
+ ### Refund and status helper routes
111
+
112
+ - `refund(params)` -> `POST https://pay.solidgate.com/api/v1/refund`
113
+ - typically `order_id`, optional `amount`
114
+ - `order_status(params)` -> `POST https://pay.solidgate.com/api/v1/status`
115
+ - `apm_order_status(params)` -> `POST https://gate.solidgate.com/api/v1/status`
116
+
117
+ ### Alternative payment routes
118
+
119
+ - `alt_refund(params)` -> `POST https://gate.solidgate.com/api/v1/refund`
120
+ - `make_card_recurring(params)` -> `POST https://pay.solidgate.com/api/v1/recurring`
121
+ - `make_apm_recurring(params)` -> `POST https://gate.solidgate.com/api/v1/recurring`
122
+
123
+ ---
124
+
125
+ ## 5) Frontend payment intent flow (server-side generation)
126
+
127
+ For hosted/payment-form flows, generate encrypted intent and signature server-side.
128
+
129
+ ```ruby
130
+ client = Solidgate::Client.new
131
+
132
+ intent_json = {
133
+ order_id: "order_123",
134
+ product_id: "product_456",
135
+ customer_account_id: "cust_789",
136
+ order_description: "Premium plan",
137
+ type: "auth", # or "sale"
138
+ settle_interval: 0,
139
+ retry_attempt: 3,
140
+ language: "en"
141
+ }.to_json
142
+
143
+ payment_intent = client.generate_intent(intent_json)
144
+
145
+ payment_data = {
146
+ merchant: Solidgate.configuration.public_key,
147
+ signature: client.generate_signature(payment_intent),
148
+ paymentIntent: payment_intent
149
+ }
150
+ ```
151
+
152
+ Return `payment_data` to the frontend that initializes Solidgate JS.
153
+
154
+ ---
155
+
156
+ ## 6) Webhook verification
157
+
158
+ Always validate signature before parsing/trusting webhook payload.
159
+
160
+ ```ruby
161
+ payload = request.body.read
162
+ signature = request.headers["Signature"]
163
+
164
+ webhook = Solidgate::Webhook.new
165
+
166
+ unless webhook.validate_signature(payload, signature)
167
+ head :unauthorized
168
+ return
169
+ end
170
+
171
+ event = JSON.parse(payload)
172
+ # process event
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 7) Error handling
178
+
179
+ SDK error classes:
180
+
181
+ - `Solidgate::Error`
182
+ - `Solidgate::ConfigurationError`
183
+ - `Solidgate::ValidationError`
184
+ - `Solidgate::AuthenticationError`
185
+ - `Solidgate::InvalidRequestError`
186
+ - `Solidgate::APIError`
187
+ - `Solidgate::ConnectionError`
188
+ - `Solidgate::TimeoutError`
189
+ - `Solidgate::RateLimitError`
190
+
191
+ Recommended handling pattern:
192
+
193
+ ```ruby
194
+ begin
195
+ client.create_payment(order_id: "o1", amount: 1000, currency: "USD")
196
+ rescue Solidgate::ValidationError => e
197
+ # local validation (wrapper-level)
198
+ rescue Solidgate::ConnectionError, Solidgate::TimeoutError => e
199
+ # network/retry logic
200
+ rescue Solidgate::APIError => e
201
+ # inspect e.code, e.http_status, e.details
202
+ rescue Solidgate::Error => e
203
+ # fallback
204
+ end
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 8) Auth/signing model used by this SDK
210
+
211
+ Each request includes:
212
+
213
+ - `Merchant: <public_key>`
214
+ - `Signature: <generated_signature>`
215
+ - `Content-Type: application/json`
216
+
217
+ Signature generation in this SDK:
218
+
219
+ 1. Serialize body to JSON string (empty string for no body)
220
+ 2. Build message: `public_key + json_string + public_key`
221
+ 3. HMAC-SHA512 with `private_key`
222
+ 4. Base64-encode the hex digest string
223
+
224
+ Use SDK-generated signatures instead of re-implementing to avoid mismatch.
225
+
226
+ ---
227
+
228
+ ## 9) LLM-agent integration playbook
229
+
230
+ If an LLM agent is integrating this SDK into another project, follow this sequence:
231
+
232
+ 1. Add `gem "solidgate-ruby-sdk"` and install dependencies.
233
+ 2. Create initializer with `Solidgate.configure`.
234
+ 3. Add a service object wrapping `Solidgate::Client` for:
235
+ - create/get/capture/void/refund
236
+ 4. Add idempotency/order-id strategy in app layer.
237
+ 5. Implement webhook endpoint with signature validation first.
238
+ 6. Add retries for `ConnectionError`/`TimeoutError` and safe backoff.
239
+ 7. Add structured logs with:
240
+ - `order_id`, `payment_id`, `status`, error code/status
241
+ 8. Add integration tests with WebMock/VCR style stubs.
242
+ 9. Add runbooks for capture/refund/manual reconciliation.
243
+
244
+ ---
245
+
246
+ ## 10) Known quirks in current SDK (v0.2.0)
247
+
248
+ - `settle_payment` currently does **not** call an API endpoint; it returns `config.api_url`.
249
+ - `README.md` examples may not fully match actual method signatures in code.
250
+ - `Solidgate::Payment#refund` refunds by `order_id` through `client.refund`, not by `payment_id`.
251
+ - Sandbox and production constants currently point to the same URL in config.
252
+ - Broad rescue in request pipeline may wrap some API exceptions into `Solidgate::Error` depending on failure path.
253
+
254
+ For robust integrations, prefer `Solidgate::Client` and explicitly test your payment flows.
255
+
256
+ ---
257
+
258
+ ## 11) Minimal production checklist
259
+
260
+ - [ ] Credentials loaded from secure env/secret manager
261
+ - [ ] Webhook signature validation enabled
262
+ - [ ] Retries/backoff for transient failures
263
+ - [ ] Monitoring for failed captures/refunds
264
+ - [ ] Reconciliation job using `order_status`
265
+ - [ ] Alerting on repeated auth/429/5xx errors
266
+ - [ ] Test mode and live mode credentials isolated
@@ -305,6 +305,21 @@ module Solidgate
305
305
  patch("/api/v1/products/#{product_id}/prices/#{price_id}", body: params)
306
306
  end
307
307
 
308
+ # Updates an existing price for a product.
309
+ # Use this to modify the amount, currency, or billing interval of a price.
310
+ #
311
+ # @param product_id [String] the product identifier that owns the price
312
+ # @param params [Hash] price update parameters:
313
+ # @return [Hash] updated price details including price_id
314
+ # @raise [InvalidRequestError] if product_id, or params are invalid
315
+ #
316
+ # @example Update a price amount
317
+ # client.update_product('prod_123', { description: 'wepale' })
318
+ #
319
+ def update_product(product_id, params)
320
+ patch("/api/v1/products/#{product_id}", body: params)
321
+ end
322
+
308
323
  # Generates an HMAC-SHA512 signature for API request authentication.
309
324
  # The signature is required for all API requests and webhook validation.
310
325
  #
@@ -402,6 +417,20 @@ module Solidgate
402
417
  post('/api/v1/status', body: params, base_url: "https://pay.solidgate.com")
403
418
  end
404
419
 
420
+ # Retrieves order status from the Solidgate gate domain for APM transactions.
421
+ #
422
+ # @param params [Hash] status request parameters:
423
+ # - :order_id [String] unique order identifier
424
+ # - :payment_id [String] optional payment identifier
425
+ # @return [Hash] order status response
426
+ # @raise [InvalidRequestError] if params are invalid
427
+ #
428
+ # @example Get APM order status
429
+ # client.apm_order_status(order_id: 'order_123')
430
+ def apm_order_status(params)
431
+ post('/api/v1/status', body: params, base_url: "https://gate.solidgate.com")
432
+ end
433
+
405
434
  def make_card_recurring(params)
406
435
  post('/api/v1/recurring', body: params, base_url: "https://pay.solidgate.com")
407
436
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Solidgate
4
- VERSION = "0.1.16"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidgate-ruby-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hector Carrillo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-23 00:00:00.000000000 Z
11
+ date: 2026-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -124,6 +124,7 @@ files:
124
124
  - LICENSE.txt
125
125
  - README.md
126
126
  - Rakefile
127
+ - docs/payment-integration-guide.md
127
128
  - examples/basic_usage.rb
128
129
  - lib/solidgate-ruby-sdk.rb
129
130
  - lib/solidgate/client.rb
@@ -132,7 +133,6 @@ files:
132
133
  - lib/solidgate/payment.rb
133
134
  - lib/solidgate/version.rb
134
135
  - lib/solidgate/webhook.rb
135
- - solidgate.gemspec
136
136
  homepage: https://github.com/carrfane/solidgate-ruby-sdk
137
137
  licenses:
138
138
  - MIT
data/solidgate.gemspec DELETED
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/solidgate/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "solidgate-ruby-sdk"
7
- spec.version = Solidgate::VERSION
8
- spec.authors = ["Hector Carrillo"]
9
- spec.email = ["carrfane@gmail.com"]
10
-
11
- spec.summary = "Ruby SDK for Solidgate payment processing"
12
- spec.description = "A Ruby SDK for integrating with the Solidgate payment gateway API"
13
- spec.homepage = "https://github.com/carrfane/solidgate-ruby-sdk"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.6.0"
16
-
17
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
- spec.metadata["homepage_uri"] = spec.homepage
19
- spec.metadata["source_code_uri"] = "https://github.com/carrfane/solidgate-ruby-sdk"
20
- spec.metadata["changelog_uri"] = "https://github.com/carrfane/solidgate-ruby-sdk/blob/master/CHANGELOG.md"
21
-
22
- # Specify which files should be added to the gem when it is released.
23
- spec.files = Dir.chdir(__dir__) do
24
- `git ls-files -z`.split("\x0").reject do |f|
25
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
26
- end
27
- end
28
-
29
- spec.bindir = "exe"
30
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
- spec.require_paths = ["lib"]
32
-
33
- # Runtime dependencies
34
- spec.add_dependency "faraday"
35
- spec.add_dependency "faraday-multipart"
36
-
37
- #Development dependencies
38
- spec.add_development_dependency "rspec", "~> 3.0"
39
- spec.add_development_dependency "webmock", "~> 3.0"
40
- spec.add_development_dependency "vcr", "~> 6.0"
41
- spec.add_development_dependency "rubocop", "~> 1.0"
42
- spec.add_development_dependency "pry", "~> 0.14"
43
- end