eodhd.rb 0.19.2 → 0.19.4
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/CHANGELOG +186 -134
- data/lib/Eodhd/VERSION.rb +1 -1
- data/lib/eodhd.rb +1 -0
- data/test/Eodhd/VERSION_test.rb +20 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 607de748be074b365f36583c465c78c39393693ef5ad9aa36e03154d2882e919
|
|
4
|
+
data.tar.gz: d5223cece0bb0e1a798e6bd4e58eafef7671c3826e8e4b28c423bc56c9f9285f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a2202c58050fca94cefdea60a6ac01c62c6be570ecfbfda366de3738a4c65e0ddd93d6e3be021c2e04c9f5e71c84c0d464ce8d7b063469b6c9da309d8a39ebe1
|
|
7
|
+
data.tar.gz: dadd7e8452b3a9e135f1f561cab1a76ee500a098d0c0a41475592457280a7d6ab62fccc43464dab898044b45d4a49fdac8251b1a4e881c4b1336caccdb05d5cf
|
data/CHANGELOG
CHANGED
|
@@ -1,134 +1,186 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
##
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
## 20260910
|
|
4
|
+
|
|
5
|
+
0.19.4: ~ lib/Eodhd.rb: + require_relative './Eodhd/VERSION'; + test/Eodhd/VERSION_test.rb
|
|
6
|
+
|
|
7
|
+
1. ~ lib/Eodhd.rb: + `require_relative './Eodhd/VERSION'`, last among the requires. The file has been present and unreached, so `require 'eodhd'` left Eodhd::VERSION undefined and the gemspec was the only thing loading it.
|
|
8
|
+
2. + test/Eodhd/VERSION_test.rb: that Eodhd::VERSION is a string, that it is three numbers separated by dots, and that it matches the newest entry in the changelog. Modelled on moby's, which is where the convention comes from.
|
|
9
|
+
3. The test loads the library rather than VERSION.rb, which is the whole of its value: run against v0.19.3 it fails with "uninitialized constant Eodhd::VERSION". Nine libraries were in that state and not one of them carried this test, which is how it went unseen.
|
|
10
|
+
4. ~ Eodhd::VERSION: /0.19.3/0.19.4/
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## 20260821
|
|
14
|
+
|
|
15
|
+
0.19.3: Rewrite the CHANGELOG in the form changelogger writes.
|
|
16
|
+
|
|
17
|
+
1. ~ CHANGELOG: The Keep a Changelog form, `## [version] - date, summary` over `- ` bullets, --> the form the rest of these gems use: a `## YYYYMMDD` heading per date, newest first, holding each of that date's versions as a summary line over numbered items. No item was reworded, dropped or reordered, and all 111 are still here.
|
|
18
|
+
2. ~ CHANGELOG: 20260719 carried three headings, for 0.18.1, 0.19.0 and 0.19.1, so one day's work read as three; 20251005 carried two, for 0.16.0 and 0.17.0. One heading each now, the versions under them in the same order they were in.
|
|
19
|
+
3. ~ CHANGELOG: The version summaries are the commit subjects, which three of them had not been: 0.19.2 read "populate the .gitignore" against a commit saying `~ .gitignore: + current default contents`, 0.19.1 likewise, and 0.19.0 differed in case. Every other repo here keeps the two identical, which is what makes a summary checkable against something.
|
|
20
|
+
4. ~ CHANGELOG: /# eodhd.rb\/CHANGELOG/# CHANGELOG/, the file's own name being no part of what it records.
|
|
21
|
+
5. ~ Eodhd/VERSION: /0.19.2/0.19.3/
|
|
22
|
+
|
|
23
|
+
0.19.2: ~ .gitignore: + current default contents
|
|
24
|
+
|
|
25
|
+
1. ~ .gitignore: + current default contents. The file held only its filename comment, having been committed that way.
|
|
26
|
+
2. ~ Eodhd/VERSION: /0.19.1/0.19.2/
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## 20260719
|
|
30
|
+
|
|
31
|
+
0.19.1: ~ README.md: + a blank line before each code fence.
|
|
32
|
+
|
|
33
|
+
1. ~ README.md: + a blank line before each code fence, without which the highlighting does not render.
|
|
34
|
+
2. ~ Eodhd/VERSION: /0.19.0/0.19.1/
|
|
35
|
+
|
|
36
|
+
0.19.0: Complete the fundamentals model wrapping.
|
|
37
|
+
|
|
38
|
+
1. + Eodhd::Fundamentals::Financials::BalanceSheet::Entry: Typed entry for a balance sheet period (64 fields).
|
|
39
|
+
2. + Eodhd::Fundamentals::Financials::IncomeStatement::Entry: Typed entry for an income statement period (34 fields).
|
|
40
|
+
3. + Eodhd::Fundamentals::Financials::CashFlow::Entry: Typed entry for a cash flow period (32 fields).
|
|
41
|
+
4. + Eodhd::Fundamentals::Earnings::AnnualEntry
|
|
42
|
+
5. + Eodhd::Fundamentals::Earnings::HistoryEntry
|
|
43
|
+
6. + Eodhd::Fundamentals::Earnings::TrendEntry
|
|
44
|
+
7. + Eodhd::Fundamentals::Holders::Institution: Typed entry for an institutional holder.
|
|
45
|
+
8. + Eodhd::Fundamentals::Holders::Fund: Typed entry for a fund holder.
|
|
46
|
+
9. + Eodhd::Fundamentals::InsiderTransaction: Typed entry for an insider transaction.
|
|
47
|
+
10. + Eodhd::Fundamentals::OutstandingShares::Entry: Typed entry for an outstanding shares data point.
|
|
48
|
+
11. + Eodhd::Fundamentals::OutstandingShares: Wraps annual and quarterly OutstandingShares::Entry arrays.
|
|
49
|
+
12. + Eodhd::Fundamentals::Financials::BalanceSheet
|
|
50
|
+
13. + Eodhd::Fundamentals::Financials::IncomeStatement
|
|
51
|
+
14. + Eodhd::Fundamentals::Financials::CashFlow
|
|
52
|
+
15. ~ Eodhd::Fundamentals::Financials: Build BalanceSheet/IncomeStatement/CashFlow instead of the shared Statement.
|
|
53
|
+
16. ~ Eodhd::Fundamentals::Financials::BalanceSheet#yearly, #quarterly: Now sorted arrays of typed entries, was raw hashes.
|
|
54
|
+
17. ~ Eodhd::Fundamentals::Earnings#annual, #history, #trend: Now sorted arrays of typed entries, was raw hashes.
|
|
55
|
+
18. ~ Eodhd::Fundamentals::Holders#institutions, #funds: Now arrays of typed entries, was raw hashes.
|
|
56
|
+
19. ~ Eodhd::Fundamentals#insider_transactions: Now a sorted array of InsiderTransaction, was a raw hash.
|
|
57
|
+
20. ~ Eodhd::Fundamentals#outstanding_shares: Now an OutstandingShares object, was a raw hash.
|
|
58
|
+
21. + test/Eodhd/Fundamentals_test.rb: Cover the newly wrapped entry types and collections.
|
|
59
|
+
22. - Eodhd::Fundamentals::Financials::Statement: Replaced by the three per-statement classes.
|
|
60
|
+
23. ~ Eodhd/VERSION: /0.18.1/0.19.0/
|
|
61
|
+
|
|
62
|
+
0.18.1: urlencode helper naming consistency
|
|
63
|
+
|
|
64
|
+
1. /Thoran::String::UrlEncode#url_encode/Thoran::String::Urlencode#urlencode/ (url_encode kept as an alias).
|
|
65
|
+
2. /Thoran::Hash::XWwwFormUrlEncode#x_www_form_url_encode/Thoran::Hash::XWwwFormUrlencode#x_www_form_urlencode/ (x_www_form_url_encode kept as an alias).
|
|
66
|
+
3. ~ lib/Hash/x_www_form_urlencode.rb: Renamed urlencode require path.
|
|
67
|
+
4. ~ eodhd.rb.gemspec: - spec.date (RubyGems stamps the build date); tidy spec.require_paths placement.
|
|
68
|
+
5. ~ Eodhd/VERSION: /0.18.0/0.18.1/
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## 20260320
|
|
72
|
+
|
|
73
|
+
0.18.0: + fundamentals endpoint
|
|
74
|
+
|
|
75
|
+
1. + Eodhd::Fundamentals: Model for fundamental data with typed sub-objects.
|
|
76
|
+
2. + Eodhd::Fundamentals::General
|
|
77
|
+
3. + Eodhd::Fundamentals::Highlights
|
|
78
|
+
4. + Eodhd::Fundamentals::Valuation
|
|
79
|
+
5. + Eodhd::Fundamentals::SharesStats
|
|
80
|
+
6. + Eodhd::Fundamentals::Technicals
|
|
81
|
+
7. + Eodhd::Fundamentals::SplitsDividends
|
|
82
|
+
8. + Eodhd::Fundamentals::AnalystRatings
|
|
83
|
+
9. + Eodhd::Fundamentals::Holders
|
|
84
|
+
10. + Eodhd::Fundamentals::ESGScores
|
|
85
|
+
11. + Eodhd::Fundamentals::Earnings
|
|
86
|
+
12. + Eodhd::Fundamentals::Financials
|
|
87
|
+
13. + Eodhd::Fundamentals::Financials::Statement
|
|
88
|
+
14. + Eodhd::Client#fundamentals: Fetch fundamental data for a symbol.
|
|
89
|
+
15. + Eodhd#fundamentals: Facade method for fundamental data.
|
|
90
|
+
16. + test/Eodhd/Fundamentals_test.rb
|
|
91
|
+
17. ~ test/Eodhd/Client_test.rb: + tests for fundamentals endpoint.
|
|
92
|
+
18. ~ test/Eodhd_test.rb: + test for fundamentals facade method.
|
|
93
|
+
19. ~ test/helper.rb: + require 'minitest/mock' for minitest 6 compatibility.
|
|
94
|
+
20. ~ Eodhd: Move initialize, web_socket, stream to private.
|
|
95
|
+
21. ~ Eodhd: + safe navigation (&.) on exchange and exchange_symbol across all methods.
|
|
96
|
+
22. ~ Eodhd#intraday: + exchange_symbol argument.
|
|
97
|
+
23. ~ Eodhd#intraday: - default exchange_code of 'US'
|
|
98
|
+
24. ~ test/: Reorganise test files into test/Eodhd/ subdirectory.
|
|
99
|
+
25. - test/test_all.rb: Previously replaced by Rakefile.
|
|
100
|
+
26. /CHANGELOG.txt/CHANGELOG/
|
|
101
|
+
27. + LICENSE: MIT License.
|
|
102
|
+
28. ~ README.md: Rewrite with intraday, fundamentals, and WebSocket documentation.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## 20251005
|
|
106
|
+
|
|
107
|
+
0.17.0: + intraday endpoint
|
|
108
|
+
|
|
109
|
+
1. + Eodhd::Intraday: Model for intraday data.
|
|
110
|
+
2. + Eodhd::Client#intraday: Fetch intraday data for US stocks.
|
|
111
|
+
3. + Eodhd#intraday: Facade method for intraday data.
|
|
112
|
+
4. + Eodhd::Validations#validate_interval: Validation of intraday intervals (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1mo).
|
|
113
|
+
5. ~ Eodhd::Validations#validate_arguments: + interval argument.
|
|
114
|
+
6. ~ test/validations_test.rb: + tests for validate_interval.
|
|
115
|
+
7. ~ test/client_test.rb: + tests for intraday endpoint.
|
|
116
|
+
8. ~ test/eodhd_test.rb: + tests for intraday facade method.
|
|
117
|
+
|
|
118
|
+
0.16.0: + automated tests, + DefaultLogger, fix WebSocket bugs, improve validations
|
|
119
|
+
|
|
120
|
+
1. + Eodhd::DefaultLogger: A shared logger for Client and WebSocketClient.
|
|
121
|
+
2. ~ Eodhd::Client: Use DefaultLogger.
|
|
122
|
+
3. ~ Eodhd::Client#initialize: + logger, use_default_logger arguments.
|
|
123
|
+
4. + Eodhd::Client#use_logging?
|
|
124
|
+
5. ~ Eodhd::Validations: Move validate_arguments() from Client to Validations.
|
|
125
|
+
6. ~ Eodhd::Validations: Remove ! from all validation methods (validate_exchange_code, validate_symbol, etc).
|
|
126
|
+
7. ~ Eodhd::WebSocketClient: Use DefaultLogger, add logger attribute.
|
|
127
|
+
8. ~ Eodhd::WebSocketClient#initialize: + logger, use_default_logger arguments.
|
|
128
|
+
9. + Eodhd::WebSocketClient#use_logging?: Check if logging is enabled.
|
|
129
|
+
10. ~ Eodhd::WebSocketClient::Handler: Remove duplicate logger code.
|
|
130
|
+
11. ~ Eodhd::WebSocketClient::Handler#initialize: + logger argument.
|
|
131
|
+
12. ~ Eodhd::WebSocketClient::Handler#handle_response: Fix JSON parsing with proper StandardError rescue.
|
|
132
|
+
13. ~ Eodhd::WebSocketClient::Handler#log_error: Use instance logger with use_logging? check.
|
|
133
|
+
14. + test/validations_test.rb: Comprehensive validation tests with edge cases.
|
|
134
|
+
15. + test/client_test.rb: REST client tests with VCR for all endpoints.
|
|
135
|
+
16. + test/eodhd_test.rb: Facade delegation tests.
|
|
136
|
+
17. + test/web_socket_client_test.rb: WebSocket client tests with stubbed Iodine.
|
|
137
|
+
18. + test/helper.rb: VCR configuration with WebMock.
|
|
138
|
+
19. ~ eodhd.gemspec: Add iodine as runtime dependency.
|
|
139
|
+
20. ~ .gitignore: + Gemfile.lock.
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
## 20250916
|
|
143
|
+
|
|
144
|
+
0.15.0: Add validations, response logging, a version constant, and CHANGELOG.
|
|
145
|
+
|
|
146
|
+
1. + Eodhd::Validations
|
|
147
|
+
2. + Eodhd::Client#validate_arguments
|
|
148
|
+
3. ~ Eodhd::Client#exchange_symbol_list: Use validate_arguments().
|
|
149
|
+
4. ~ Eodhd::Client#eod_data: Use validate_arguments().
|
|
150
|
+
5. ~ Eodhd::Client#eod_bulk_last_day: Use validate_arguments().
|
|
151
|
+
6. + Eodhd::Client#log_response
|
|
152
|
+
7. ~ Eodhd::Client#do_request: Call log_request() after construction of args.
|
|
153
|
+
8. ~ Eodhd::Client#handle_response: Use log_response().
|
|
154
|
+
9. + Eodhd::VERSION
|
|
155
|
+
10. ~ eodhd.gemspec: Use Eodhd::VERSION and update the date.
|
|
156
|
+
11. + CHANGELOG.txt
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
## 20250326
|
|
160
|
+
|
|
161
|
+
0.14.2: Remove reference to currently unused library UnixTime.
|
|
162
|
+
|
|
163
|
+
1. ~ Eodhd::WebSocketClient: - require 'UnixTime'
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
## 20250323
|
|
167
|
+
|
|
168
|
+
0.14.1: Some fixes for the WebSocketClient interface.
|
|
169
|
+
|
|
170
|
+
1. ~ Eodhd::WebSocketClient: + attr_accessor :consumer
|
|
171
|
+
2. ~ Eodhd::WebSocketClient: /attr_accessor :symbols/attr_reader :symbols/
|
|
172
|
+
3. + Eodhd::WebSocketClient#symbols=
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
## 20250321
|
|
176
|
+
|
|
177
|
+
0.14.0: Add WebSockets.
|
|
178
|
+
|
|
179
|
+
1. + Eodhd::WebSocketClient
|
|
180
|
+
2. + Eodhd#web_socket
|
|
181
|
+
3. + Eodhd#stream
|
|
182
|
+
4. + Eodhd#us_quote_stream
|
|
183
|
+
5. + Eodhd#us_trade_stream
|
|
184
|
+
6. + Eodhd#forex_stream
|
|
185
|
+
7. + Eodhd#crypto_stream
|
|
186
|
+
8. ~ Eodhd::Error: lib/Eodhd/Client.rb --> lib/Eodhd/Error.rb
|
data/lib/Eodhd/VERSION.rb
CHANGED
data/lib/eodhd.rb
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# test/Eodhd/VERSION_test.rb
|
|
2
|
+
|
|
3
|
+
require_relative '../helper'
|
|
4
|
+
|
|
5
|
+
describe Eodhd do
|
|
6
|
+
describe "VERSION" do
|
|
7
|
+
it "is a string" do
|
|
8
|
+
_(Eodhd::VERSION).must_be_instance_of String
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "is three numbers separated by dots" do
|
|
12
|
+
_(Eodhd::VERSION).must_match(/\A\d+\.\d+\.\d+\z/)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "matches the newest entry in the CHANGELOG" do
|
|
16
|
+
changelog = File.read(File.expand_path('../../CHANGELOG', __dir__))
|
|
17
|
+
_(changelog[/^(\d+\.\d+\.\d+):/, 1]).must_equal Eodhd::VERSION
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eodhd.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.19.
|
|
4
|
+
version: 0.19.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- thoran
|
|
@@ -189,6 +189,7 @@ files:
|
|
|
189
189
|
- lib/eodhd.rb
|
|
190
190
|
- test/Eodhd/Client_test.rb
|
|
191
191
|
- test/Eodhd/Fundamentals_test.rb
|
|
192
|
+
- test/Eodhd/VERSION_test.rb
|
|
192
193
|
- test/Eodhd/Validations_test.rb
|
|
193
194
|
- test/Eodhd/WebSocketClient_test.rb
|
|
194
195
|
- test/Eodhd_test.rb
|
|
@@ -211,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
211
212
|
- !ruby/object:Gem::Version
|
|
212
213
|
version: '0'
|
|
213
214
|
requirements: []
|
|
214
|
-
rubygems_version: 4.0.
|
|
215
|
+
rubygems_version: 4.0.20
|
|
215
216
|
specification_version: 4
|
|
216
217
|
summary: Access the eodhd.com API with Ruby.
|
|
217
218
|
test_files: []
|