abacatepay-ruby 0.1.0 → 1.0.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +125 -0
  3. data/CHANGELOG.md +121 -1
  4. data/README.md +408 -87
  5. data/Rakefile +1 -1
  6. data/abacatepay-ruby.gemspec +16 -10
  7. data/lib/abacate_pay/clients/billing_client.rb +80 -0
  8. data/lib/abacate_pay/clients/checkout_client.rb +70 -0
  9. data/lib/{abacatepay → abacate_pay}/clients/client.rb +20 -7
  10. data/lib/abacate_pay/clients/coupon_client.rb +57 -0
  11. data/lib/abacate_pay/clients/customer_client.rb +58 -0
  12. data/lib/abacate_pay/clients/payment_link_client.rb +71 -0
  13. data/lib/abacate_pay/clients/payout_client.rb +41 -0
  14. data/lib/abacate_pay/clients/pix_client.rb +47 -0
  15. data/lib/abacate_pay/clients/product_client.rb +54 -0
  16. data/lib/abacate_pay/clients/store_client.rb +40 -0
  17. data/lib/abacate_pay/clients/subscription_client.rb +55 -0
  18. data/lib/abacate_pay/clients/transparent_client.rb +73 -0
  19. data/lib/abacate_pay/clients/webhook_client.rb +82 -0
  20. data/lib/abacate_pay/clients.rb +24 -0
  21. data/lib/abacate_pay/configuration.rb +67 -0
  22. data/lib/{abacatepay/enums/billing → abacate_pay/enums/billings}/frequencies.rb +9 -3
  23. data/lib/{abacatepay/enums/billing → abacate_pay/enums/billings}/methods.rb +5 -3
  24. data/lib/{abacatepay/enums/billing → abacate_pay/enums/billings}/statuses.rb +3 -2
  25. data/lib/abacate_pay/enums/checkouts/statuses.rb +29 -0
  26. data/lib/abacate_pay/enums/coupons/discount_kinds.rb +26 -0
  27. data/lib/abacate_pay/enums/coupons/statuses.rb +27 -0
  28. data/lib/abacate_pay/enums/payouts/statuses.rb +29 -0
  29. data/lib/abacate_pay/enums/pix/key_types.rb +30 -0
  30. data/lib/abacate_pay/enums/products/cycles.rb +28 -0
  31. data/lib/abacate_pay/enums/transfers/statuses.rb +30 -0
  32. data/lib/abacate_pay/enums/webhooks/event_types.rb +43 -0
  33. data/lib/abacate_pay/enums.rb +20 -0
  34. data/lib/{abacatepay/resources/billing → abacate_pay/resources/billings}/metadata.rb +2 -8
  35. data/lib/{abacatepay/resources/billing → abacate_pay/resources/billings}/product.rb +2 -8
  36. data/lib/{abacatepay/resources/billing.rb → abacate_pay/resources/billings.rb} +16 -16
  37. data/lib/abacate_pay/resources/checkouts.rb +76 -0
  38. data/lib/abacate_pay/resources/coupons.rb +41 -0
  39. data/lib/{abacatepay/resources/customer → abacate_pay/resources/customers}/metadata.rb +2 -8
  40. data/lib/{abacatepay/resources/customer.rb → abacate_pay/resources/customers.rb} +5 -5
  41. data/lib/abacate_pay/resources/payouts.rb +40 -0
  42. data/lib/abacate_pay/resources/pix_transfers.rb +41 -0
  43. data/lib/abacate_pay/resources/products.rb +40 -0
  44. data/lib/{abacatepay → abacate_pay}/resources/resource.rb +33 -21
  45. data/lib/abacate_pay/resources/store/balance.rb +20 -0
  46. data/lib/abacate_pay/resources/store.rb +36 -0
  47. data/lib/abacate_pay/resources/subscriptions.rb +72 -0
  48. data/lib/abacate_pay/resources/transparents.rb +46 -0
  49. data/lib/abacate_pay/resources/webhook_endpoints.rb +49 -0
  50. data/lib/abacate_pay/resources.rb +27 -0
  51. data/lib/{abacatepay → abacate_pay}/version.rb +2 -2
  52. data/lib/abacate_pay/webhooks/event.rb +20 -0
  53. data/lib/abacate_pay/webhooks.rb +100 -0
  54. data/lib/abacate_pay.rb +111 -4
  55. metadata +69 -56
  56. data/lib/abacatepay/clients/billing_client.rb +0 -60
  57. data/lib/abacatepay/clients/customer_client.rb +0 -39
  58. data/lib/abacatepay/clients.rb +0 -12
  59. data/lib/abacatepay/configuration.rb +0 -56
  60. data/lib/abacatepay/enums.rb +0 -12
  61. data/lib/abacatepay/resources.rb +0 -15
  62. data/sig/abacatepay/rails.rbs +0 -6
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module AbacatePay
4
- # Configuration class for the AbacatePay SDK
5
- #
6
- # This class handles all configuration options for the SDK, including
7
- # API credentials, environment settings, and other customizable options.
8
- #
9
- # @api public
10
- class Configuration
11
- # @return [String] API token for authentication
12
- attr_accessor :api_token
13
-
14
- # @return [Symbol] Current environment (:production or :sandbox)
15
- attr_accessor :environment
16
-
17
- # @return [Integer] Request timeout in seconds
18
- attr_accessor :timeout
19
-
20
- # @return [String] Base API URL
21
- attr_reader :api_url
22
-
23
- # Initialize a new configuration with default values
24
- #
25
- # @api public
26
- def initialize
27
- @environment = :sandbox
28
- @timeout = 30
29
- @api_token = nil
30
- end
31
-
32
- # Validates the configuration
33
- #
34
- # @raise [ConfigurationError] if any required settings are missing or invalid
35
- # @return [void]
36
- #
37
- # @api public
38
- def validate!
39
- raise ConfigurationError, "API token is required" if api_token.nil?
40
- raise ConfigurationError, "Invalid environment" unless %i[production sandbox].include?(environment)
41
- end
42
-
43
- # Gets the base API URL based on the environment
44
- #
45
- # @return [String] The base API URL
46
- #
47
- # @api public
48
- def api_url
49
- if environment == :production
50
- "https://api.abacatepay.com/v1"
51
- else
52
- "https://sandbox.api.abacatepay.com/v1"
53
- end
54
- end
55
- end
56
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "abacate_pay/enums/billing/frequencies"
4
- require "abacate_pay/enums/billing/methods"
5
- require "abacate_pay/enums/billing/statuses"
6
-
7
- module AbacatePay
8
- # The Enums module contains all enumeration classes used
9
- # throughout the AbacatePay SDK.
10
- module Enums
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "abacate_pay/resources/resource"
4
- require "abacate_pay/resources/billing"
5
- require "abacate_pay/resources/customer"
6
- require "abacate_pay/resources/billing/metadata"
7
- require "abacate_pay/resources/billing/product"
8
- require "abacate_pay/resources/customer/metadata"
9
-
10
- module AbacatePay
11
- # The Resources module contains all resource classes that
12
- # represent the various entities in the AbacatePay system.
13
- module Resources
14
- end
15
- end
@@ -1,6 +0,0 @@
1
- module Abacatepay
2
- module Rails
3
- VERSION: String
4
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
5
- end
6
- end