brapi-ruby-sdk 0.1.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 (38) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +30 -0
  3. data/LICENSE +201 -0
  4. data/README.md +221 -0
  5. data/lib/brapi/client.rb +102 -0
  6. data/lib/brapi/configuration.rb +20 -0
  7. data/lib/brapi/errors.rb +40 -0
  8. data/lib/brapi/model.rb +110 -0
  9. data/lib/brapi/models/available_list_response.rb +10 -0
  10. data/lib/brapi/models/balance_sheet_entry.rb +34 -0
  11. data/lib/brapi/models/financial_data_entry.rb +30 -0
  12. data/lib/brapi/models/quote.rb +60 -0
  13. data/lib/brapi/models/quote_list_item.rb +17 -0
  14. data/lib/brapi/models/quote_list_response.rb +16 -0
  15. data/lib/brapi/models/quote_retrieve_response.rb +11 -0
  16. data/lib/brapi/models/v2/crypto.rb +25 -0
  17. data/lib/brapi/models/v2/crypto_list_available_response.rb +11 -0
  18. data/lib/brapi/models/v2/crypto_retrieve_response.rb +13 -0
  19. data/lib/brapi/models/v2/currency.rb +21 -0
  20. data/lib/brapi/models/v2/currency_list_available_response.rb +11 -0
  21. data/lib/brapi/models/v2/currency_retrieve_response.rb +13 -0
  22. data/lib/brapi/models/v2/inflation_entry.rb +13 -0
  23. data/lib/brapi/models/v2/inflation_list_available_response.rb +11 -0
  24. data/lib/brapi/models/v2/inflation_retrieve_response.rb +13 -0
  25. data/lib/brapi/models/v2/prime_rate_entry.rb +13 -0
  26. data/lib/brapi/models/v2/prime_rate_list_available_response.rb +11 -0
  27. data/lib/brapi/models/v2/prime_rate_retrieve_response.rb +13 -0
  28. data/lib/brapi/resource.rb +39 -0
  29. data/lib/brapi/resources/available.rb +13 -0
  30. data/lib/brapi/resources/quote.rb +22 -0
  31. data/lib/brapi/resources/v2/crypto.rb +21 -0
  32. data/lib/brapi/resources/v2/currency.rb +21 -0
  33. data/lib/brapi/resources/v2/inflation.rb +21 -0
  34. data/lib/brapi/resources/v2/prime_rate.rb +21 -0
  35. data/lib/brapi/resources/v2.rb +29 -0
  36. data/lib/brapi/version.rb +5 -0
  37. data/lib/brapi.rb +80 -0
  38. metadata +110 -0
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Brapi
4
+ VERSION = "0.1.0"
5
+ end
data/lib/brapi.rb ADDED
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "brapi/version"
4
+ require "brapi/configuration"
5
+ require "brapi/errors"
6
+ require "brapi/model"
7
+ require "brapi/resource"
8
+
9
+ # Models — order matters: leaf classes before composite ones.
10
+ require "brapi/models/balance_sheet_entry"
11
+ require "brapi/models/financial_data_entry"
12
+ require "brapi/models/quote"
13
+ require "brapi/models/quote_retrieve_response"
14
+ require "brapi/models/quote_list_item"
15
+ require "brapi/models/quote_list_response"
16
+ require "brapi/models/available_list_response"
17
+
18
+ require "brapi/models/v2/crypto"
19
+ require "brapi/models/v2/crypto_retrieve_response"
20
+ require "brapi/models/v2/crypto_list_available_response"
21
+
22
+ require "brapi/models/v2/currency"
23
+ require "brapi/models/v2/currency_retrieve_response"
24
+ require "brapi/models/v2/currency_list_available_response"
25
+
26
+ require "brapi/models/v2/inflation_entry"
27
+ require "brapi/models/v2/inflation_retrieve_response"
28
+ require "brapi/models/v2/inflation_list_available_response"
29
+
30
+ require "brapi/models/v2/prime_rate_entry"
31
+ require "brapi/models/v2/prime_rate_retrieve_response"
32
+ require "brapi/models/v2/prime_rate_list_available_response"
33
+
34
+ # Resources — v2 (parent class) must load before its nested classes
35
+ require "brapi/resources/quote"
36
+ require "brapi/resources/available"
37
+ require "brapi/resources/v2"
38
+ require "brapi/resources/v2/crypto"
39
+ require "brapi/resources/v2/currency"
40
+ require "brapi/resources/v2/inflation"
41
+ require "brapi/resources/v2/prime_rate"
42
+
43
+ require "brapi/client"
44
+
45
+ module Brapi
46
+ class << self
47
+ def configuration
48
+ @configuration ||= Configuration.new
49
+ end
50
+
51
+ def configure
52
+ yield(configuration)
53
+ end
54
+
55
+ def reset_configuration!
56
+ @configuration = Configuration.new
57
+ @client = nil
58
+ end
59
+
60
+ def client
61
+ @client ||= Client.new
62
+ end
63
+
64
+ def reset_client!
65
+ @client = nil
66
+ end
67
+
68
+ def quote
69
+ client.quote
70
+ end
71
+
72
+ def available
73
+ client.available
74
+ end
75
+
76
+ def v2
77
+ client.v2
78
+ end
79
+ end
80
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brapi-ruby-sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rômulo Storel
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2026-05-28 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: faraday
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: faraday-retry
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ description: Idiomatic Ruby client for the brapi.dev API, providing access to Brazilian
41
+ stocks, cryptocurrencies, currency exchange rates, inflation and prime rate (SELIC)
42
+ data.
43
+ email:
44
+ - romulo.storel@codeminer42.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - CHANGELOG.md
50
+ - LICENSE
51
+ - README.md
52
+ - lib/brapi.rb
53
+ - lib/brapi/client.rb
54
+ - lib/brapi/configuration.rb
55
+ - lib/brapi/errors.rb
56
+ - lib/brapi/model.rb
57
+ - lib/brapi/models/available_list_response.rb
58
+ - lib/brapi/models/balance_sheet_entry.rb
59
+ - lib/brapi/models/financial_data_entry.rb
60
+ - lib/brapi/models/quote.rb
61
+ - lib/brapi/models/quote_list_item.rb
62
+ - lib/brapi/models/quote_list_response.rb
63
+ - lib/brapi/models/quote_retrieve_response.rb
64
+ - lib/brapi/models/v2/crypto.rb
65
+ - lib/brapi/models/v2/crypto_list_available_response.rb
66
+ - lib/brapi/models/v2/crypto_retrieve_response.rb
67
+ - lib/brapi/models/v2/currency.rb
68
+ - lib/brapi/models/v2/currency_list_available_response.rb
69
+ - lib/brapi/models/v2/currency_retrieve_response.rb
70
+ - lib/brapi/models/v2/inflation_entry.rb
71
+ - lib/brapi/models/v2/inflation_list_available_response.rb
72
+ - lib/brapi/models/v2/inflation_retrieve_response.rb
73
+ - lib/brapi/models/v2/prime_rate_entry.rb
74
+ - lib/brapi/models/v2/prime_rate_list_available_response.rb
75
+ - lib/brapi/models/v2/prime_rate_retrieve_response.rb
76
+ - lib/brapi/resource.rb
77
+ - lib/brapi/resources/available.rb
78
+ - lib/brapi/resources/quote.rb
79
+ - lib/brapi/resources/v2.rb
80
+ - lib/brapi/resources/v2/crypto.rb
81
+ - lib/brapi/resources/v2/currency.rb
82
+ - lib/brapi/resources/v2/inflation.rb
83
+ - lib/brapi/resources/v2/prime_rate.rb
84
+ - lib/brapi/version.rb
85
+ homepage: https://github.com/romulostorel/brapi-ruby-sdk
86
+ licenses:
87
+ - Apache-2.0
88
+ metadata:
89
+ source_code_uri: https://github.com/romulostorel/brapi-ruby-sdk
90
+ changelog_uri: https://github.com/romulostorel/brapi-ruby-sdk/blob/main/CHANGELOG.md
91
+ bug_tracker_uri: https://github.com/romulostorel/brapi-ruby-sdk/issues
92
+ rubygems_mfa_required: 'true'
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 3.1.0
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubygems_version: 3.6.2
108
+ specification_version: 4
109
+ summary: Ruby SDK for brapi.dev — Brazilian financial market API
110
+ test_files: []