thirteen_f 0.5.1 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +20 -18
- data/lib/thirteen_f/entity.rb +21 -18
- data/lib/thirteen_f/sec_request.rb +23 -6
- data/lib/thirteen_f/version.rb +1 -1
- data/thirteen_f.gemspec +4 -4
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc4778c7ae85336dc1a04f20b6cf194129ac89a3383ad5fd4a18d3681f57693a
|
4
|
+
data.tar.gz: 5d8a42799d3b4836ea4b4a5496f5ca8727a861e96553dcfdf52ec6da034d240d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b86ba1bcec386261696f22162890aa4a823fba84d3c552fa56151b68fcbc91392fb4057c5c004f971e702467fe30fe5292e419d708790061f7677f374420ebd2
|
7
|
+
data.tar.gz: fa8481003cce3ff4130caf5832fd5dd8ad4e67018b2874f8756db5ca4bf0fbad70f886a36dae8a9b3d0584d05a5c0ee60dd40fd695f4f3a77fa22b3c62ac8289
|
data/Gemfile.lock
CHANGED
@@ -1,42 +1,44 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
thirteen_f (0.5.
|
4
|
+
thirteen_f (0.5.2)
|
5
5
|
http (>= 5.0)
|
6
|
-
nokogiri (>= 1.
|
7
|
-
pdf-reader (>= 2.
|
6
|
+
nokogiri (>= 1.13)
|
7
|
+
pdf-reader (>= 2.10)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
12
|
Ascii85 (1.1.0)
|
13
|
-
addressable (2.8.
|
14
|
-
public_suffix (>= 2.0.2, <
|
13
|
+
addressable (2.8.1)
|
14
|
+
public_suffix (>= 2.0.2, < 6.0)
|
15
15
|
afm (0.2.2)
|
16
16
|
coderay (1.1.3)
|
17
17
|
domain_name (0.5.20190701)
|
18
18
|
unf (>= 0.0.5, < 1.0.0)
|
19
|
-
ffi (1.15.
|
19
|
+
ffi (1.15.5)
|
20
20
|
ffi-compiler (1.0.1)
|
21
21
|
ffi (>= 1.0.0)
|
22
22
|
rake
|
23
23
|
hashery (2.1.2)
|
24
|
-
http (5.
|
25
|
-
addressable (~> 2.
|
24
|
+
http (5.1.1)
|
25
|
+
addressable (~> 2.8)
|
26
26
|
http-cookie (~> 1.0)
|
27
27
|
http-form_data (~> 2.2)
|
28
|
-
llhttp-ffi (~> 0.
|
29
|
-
http-cookie (1.0.
|
28
|
+
llhttp-ffi (~> 0.4.0)
|
29
|
+
http-cookie (1.0.5)
|
30
30
|
domain_name (~> 0.5)
|
31
31
|
http-form_data (2.3.0)
|
32
|
-
llhttp-ffi (0.
|
32
|
+
llhttp-ffi (0.4.0)
|
33
33
|
ffi-compiler (~> 1.0)
|
34
34
|
rake (~> 13.0)
|
35
35
|
method_source (1.0.0)
|
36
|
-
|
37
|
-
|
36
|
+
mini_portile2 (2.8.1)
|
37
|
+
minitest (5.17.0)
|
38
|
+
nokogiri (1.13.10)
|
39
|
+
mini_portile2 (~> 2.8.0)
|
38
40
|
racc (~> 1.4)
|
39
|
-
pdf-reader (2.
|
41
|
+
pdf-reader (2.11.0)
|
40
42
|
Ascii85 (~> 1.0)
|
41
43
|
afm (~> 0.2.1)
|
42
44
|
hashery (~> 2.0)
|
@@ -45,14 +47,14 @@ GEM
|
|
45
47
|
pry (0.14.1)
|
46
48
|
coderay (~> 1.1)
|
47
49
|
method_source (~> 1.0)
|
48
|
-
public_suffix (
|
49
|
-
racc (1.
|
50
|
-
rake (13.0.
|
50
|
+
public_suffix (5.0.1)
|
51
|
+
racc (1.6.2)
|
52
|
+
rake (13.0.6)
|
51
53
|
ruby-rc4 (0.1.5)
|
52
54
|
ttfunk (1.7.0)
|
53
55
|
unf (0.1.4)
|
54
56
|
unf_ext
|
55
|
-
unf_ext (0.0.
|
57
|
+
unf_ext (0.0.8.2)
|
56
58
|
|
57
59
|
PLATFORMS
|
58
60
|
ruby
|
data/lib/thirteen_f/entity.rb
CHANGED
@@ -47,29 +47,32 @@ class ThirteenF
|
|
47
47
|
|
48
48
|
private
|
49
49
|
def cik_from_id(id)
|
50
|
-
id.
|
51
|
-
id
|
50
|
+
id.to_i.to_s
|
52
51
|
end
|
53
52
|
|
53
|
+
COLUMN_KEYS = %i(
|
54
|
+
accessionNumber
|
55
|
+
filingDate
|
56
|
+
reportDate
|
57
|
+
acceptanceDateTime
|
58
|
+
act
|
59
|
+
form
|
60
|
+
fileNumber
|
61
|
+
filmNumber
|
62
|
+
items
|
63
|
+
size
|
64
|
+
isXBRL
|
65
|
+
isInlineXBRL
|
66
|
+
primaryDocument
|
67
|
+
primaryDocDescription
|
68
|
+
)
|
69
|
+
|
54
70
|
def thirteen_f_filing_data(filings_data)
|
55
71
|
indexes = thirteen_f_indexes(filings_data)
|
56
72
|
indexes.map do |index|
|
57
|
-
columnar_data =
|
58
|
-
filings_data[
|
59
|
-
|
60
|
-
filings_data[:reportDate][index],
|
61
|
-
filings_data[:acceptanceDateTime][index],
|
62
|
-
filings_data[:act][index],
|
63
|
-
filings_data[:form][index],
|
64
|
-
filings_data[:fileNumber][index],
|
65
|
-
filings_data[:filmNumber][index],
|
66
|
-
filings_data[:items][index],
|
67
|
-
filings_data[:size][index],
|
68
|
-
filings_data[:isXBRL][index],
|
69
|
-
filings_data[:isInlineXBRL][index],
|
70
|
-
filings_data[:primaryDocument][index],
|
71
|
-
filings_data[:primaryDocDescription][index]
|
72
|
-
]
|
73
|
+
columnar_data = COLUMN_KEYS.map do |key|
|
74
|
+
filings_data[key][index]
|
75
|
+
end
|
73
76
|
Filing.new self, columnar_data
|
74
77
|
end
|
75
78
|
end
|
@@ -3,19 +3,36 @@ require 'nokogiri'
|
|
3
3
|
|
4
4
|
class ThirteenF
|
5
5
|
class SecRequest
|
6
|
-
|
7
|
-
'User-Agent' => 'ThirteenF/v0.5.0 (Open Source Ruby Gem)',
|
6
|
+
DATA_HEADERS = {
|
7
|
+
'User-Agent' => 'ThirteenF/v0.5.0 (Open Source Ruby Gem) savannah.fischer@hey.com',
|
8
|
+
'Host' => 'data.sec.gov',
|
9
|
+
'Accept-Encoding' => 'gzip, deflate'
|
10
|
+
}
|
11
|
+
|
12
|
+
WWW_HEADERS = {
|
13
|
+
'User-Agent' => 'ThirteenF/v0.5.0 (Open Source Ruby Gem) savannah.fischer@hey.com',
|
14
|
+
'Host' => 'www.sec.gov'
|
15
|
+
}
|
16
|
+
|
17
|
+
EFTS_HEADERS = {
|
18
|
+
'User-Agent' => 'S Fischer sfischer@fischercompany.com',
|
8
19
|
'Accept-Encoding' => 'gzip, deflate',
|
9
|
-
'
|
20
|
+
'Host' => 'efts.sec.gov'
|
10
21
|
}
|
11
22
|
|
12
23
|
def self.get(url, response_type: :json)
|
13
|
-
|
14
|
-
|
24
|
+
case response_type
|
25
|
+
when :json
|
26
|
+
response = HTTP.use(:auto_inflate).headers(DATA_HEADERS).get(url)
|
27
|
+
handle_response response, response_type: response_type
|
28
|
+
else
|
29
|
+
response = HTTP.use(:auto_inflate).headers(WWW_HEADERS).get(url)
|
30
|
+
handle_response response, response_type: response_type
|
31
|
+
end
|
15
32
|
end
|
16
33
|
|
17
34
|
def self.post(url, json)
|
18
|
-
response = HTTP.use(:auto_inflate).headers(
|
35
|
+
response = HTTP.use(:auto_inflate).headers(EFTS_HEADERS).post(url, json: json)
|
19
36
|
handle_response response
|
20
37
|
end
|
21
38
|
|
data/lib/thirteen_f/version.rb
CHANGED
data/thirteen_f.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
different investors have been doing in US regulated equity markets.}
|
16
16
|
spec.homepage = "https://github.com/savfischer/thirteen_f"
|
17
17
|
spec.license = "MIT"
|
18
|
-
spec.required_ruby_version = Gem::Requirement.new(">=
|
18
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.0")
|
19
19
|
|
20
20
|
spec.metadata["homepage_uri"] = spec.homepage
|
21
21
|
spec.metadata["source_code_uri"] = "https://github.com/savfischer/thirteen_f"
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency "minitest"
|
34
34
|
spec.add_development_dependency "pry"
|
35
35
|
|
36
|
-
spec.add_runtime_dependency "http", ">= 5.
|
37
|
-
spec.add_runtime_dependency "nokogiri", ">= 1.
|
38
|
-
spec.add_runtime_dependency "pdf-reader", ">= 2.
|
36
|
+
spec.add_runtime_dependency "http", ">= 5.1"
|
37
|
+
spec.add_runtime_dependency "nokogiri", ">= 1.13"
|
38
|
+
spec.add_runtime_dependency "pdf-reader", ">= 2.11"
|
39
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thirteen_f
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Savannah Fischer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -44,42 +44,42 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '5.
|
47
|
+
version: '5.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '5.
|
54
|
+
version: '5.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: nokogiri
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.13'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
68
|
+
version: '1.13'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pdf-reader
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '2.
|
75
|
+
version: '2.11'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '2.
|
82
|
+
version: '2.11'
|
83
83
|
description: |-
|
84
84
|
thirteen_f lets you easily search and retrieve SEC 13F
|
85
85
|
filing data. The SEC is the U.S. Securities and Exchange Commission. 13F
|
@@ -128,14 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: '3.0'
|
132
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
134
|
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
|
-
rubygems_version: 3.
|
138
|
+
rubygems_version: 3.3.7
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: A ruby interface for S.E.C. 13F Data.
|