thirteen_f 0.5.6 → 0.5.8
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/Gemfile.lock +15 -19
- data/lib/thirteen_f/cusip_securities.rb +5 -1
- data/lib/thirteen_f/position.rb +24 -7
- data/lib/thirteen_f/sec_request.rb +2 -0
- data/lib/thirteen_f/version.rb +1 -1
- data/thirteen_f.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9773a685a61e1713a417d4aef59fb58b211cfe7fea47800924c9db97d58a286
|
4
|
+
data.tar.gz: 1d1541d8f279d47fd98980755a975aaa3c48e621faa964d47970bc25b6b3ef4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80336d550bcb73bb1ef81675944b677e090ea1627c8cc0457ef49ea18b3d6c9dcaa2bc3749a5c6800694da2a1142a3668e8b69787b0134852e700f348c00e9d6
|
7
|
+
data.tar.gz: 3a5fe0414f07e6eb4848be4af5d109a5b34e79b479db433c68709c6081e1ce6f41186b9cecc883d2c394f717c008c5c46a5ccc74b4a35fd99927bdd40bc1de8b
|
data/Gemfile.lock
CHANGED
@@ -1,22 +1,21 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
thirteen_f (0.5.
|
5
|
-
http (>= 5.
|
6
|
-
nokogiri (>= 1.
|
7
|
-
pdf-reader (>= 2.
|
4
|
+
thirteen_f (0.5.8)
|
5
|
+
http (>= 5.1)
|
6
|
+
nokogiri (>= 1.15)
|
7
|
+
pdf-reader (>= 2.11)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
12
|
Ascii85 (1.1.0)
|
13
|
-
addressable (2.8.
|
13
|
+
addressable (2.8.6)
|
14
14
|
public_suffix (>= 2.0.2, < 6.0)
|
15
15
|
afm (0.2.2)
|
16
16
|
coderay (1.1.3)
|
17
|
-
domain_name (0.
|
18
|
-
|
19
|
-
ffi (1.15.5)
|
17
|
+
domain_name (0.6.20231109)
|
18
|
+
ffi (1.16.3)
|
20
19
|
ffi-compiler (1.0.1)
|
21
20
|
ffi (>= 1.0.0)
|
22
21
|
rake
|
@@ -33,10 +32,10 @@ GEM
|
|
33
32
|
ffi-compiler (~> 1.0)
|
34
33
|
rake (~> 13.0)
|
35
34
|
method_source (1.0.0)
|
36
|
-
mini_portile2 (2.8.
|
37
|
-
minitest (5.
|
38
|
-
nokogiri (1.
|
39
|
-
mini_portile2 (~> 2.8.
|
35
|
+
mini_portile2 (2.8.5)
|
36
|
+
minitest (5.20.0)
|
37
|
+
nokogiri (1.15.5)
|
38
|
+
mini_portile2 (~> 2.8.2)
|
40
39
|
racc (~> 1.4)
|
41
40
|
pdf-reader (2.11.0)
|
42
41
|
Ascii85 (~> 1.0)
|
@@ -44,17 +43,14 @@ GEM
|
|
44
43
|
hashery (~> 2.0)
|
45
44
|
ruby-rc4
|
46
45
|
ttfunk
|
47
|
-
pry (0.14.
|
46
|
+
pry (0.14.2)
|
48
47
|
coderay (~> 1.1)
|
49
48
|
method_source (~> 1.0)
|
50
|
-
public_suffix (5.0.
|
51
|
-
racc (1.
|
52
|
-
rake (13.0
|
49
|
+
public_suffix (5.0.4)
|
50
|
+
racc (1.7.3)
|
51
|
+
rake (13.1.0)
|
53
52
|
ruby-rc4 (0.1.5)
|
54
53
|
ttfunk (1.7.0)
|
55
|
-
unf (0.1.4)
|
56
|
-
unf_ext
|
57
|
-
unf_ext (0.0.8.2)
|
58
54
|
|
59
55
|
PLATFORMS
|
60
56
|
ruby
|
@@ -37,7 +37,11 @@ class ThirteenF
|
|
37
37
|
|
38
38
|
def get_list_entries
|
39
39
|
return false unless file_location
|
40
|
-
io = URI.open
|
40
|
+
io = URI.open(
|
41
|
+
file_location,
|
42
|
+
'User-Agent' => "ThirteenF/v#{::ThirteenF::VERSION} (Open Source Ruby Gem) savannah.fischer@hey.com",
|
43
|
+
'Host' => 'www.sec.gov'
|
44
|
+
)
|
41
45
|
reader = PDF::Reader.new io
|
42
46
|
valid_entries = []
|
43
47
|
reader.pages[2..-1].each do |page|
|
data/lib/thirteen_f/position.rb
CHANGED
@@ -28,9 +28,9 @@ class ThirteenF
|
|
28
28
|
@name_of_issuer = info_table.search('nameOfIssuer').text
|
29
29
|
@title_of_class = info_table.search('titleOfClass').text
|
30
30
|
@cusip = info_table.search('cusip').text
|
31
|
-
@value_in_thousands =
|
31
|
+
@value_in_thousands = set_value_to_thousands info_table.search('value').text
|
32
32
|
@shares_or_principal_amount_type = info_table.search('sshPrnamtType').text
|
33
|
-
@shares_or_principal_amount =
|
33
|
+
@shares_or_principal_amount = to_float(info_table.search('sshPrnamt').text)
|
34
34
|
|
35
35
|
not_found = info_table.search('putCall').count == 0
|
36
36
|
@put_or_call = info_table.search('putCall').text unless not_found
|
@@ -38,15 +38,32 @@ class ThirteenF
|
|
38
38
|
@investment_discretion = info_table.search('investmentDiscretion').text
|
39
39
|
@other_managers = info_table.search('otherManager').text
|
40
40
|
@voting_authority = {
|
41
|
-
sole:
|
42
|
-
shared:
|
43
|
-
none:
|
41
|
+
sole: to_float(info_table.search('Sole').text),
|
42
|
+
shared: to_float(info_table.search('Shared').text),
|
43
|
+
none: to_float(info_table.search('None').text)
|
44
44
|
}
|
45
45
|
end
|
46
46
|
|
47
47
|
private
|
48
|
-
|
49
|
-
|
48
|
+
# https://www.sec.gov/divisions/investment/13ffaq#62
|
49
|
+
# Q: When must filers use the updated Form 13F that includes the
|
50
|
+
# amendments that were adopted on June 23, 2022?
|
51
|
+
# A: The compliance date for the form amendments to Form 13F is January 3,
|
52
|
+
# 2023. All Form 13F reports that are filed on or after January 3, 2023,
|
53
|
+
# whether public or confidential (including all Form 13F reports for the
|
54
|
+
# quarter ending December 31, 2022, and for any other preceding or
|
55
|
+
# succeeding calendar quarter), must use the updated Form 13F.
|
56
|
+
def set_value_to_thousands(text)
|
57
|
+
before_change = filing.time_accepted < Date.parse('2023-01-03')
|
58
|
+
if before_change
|
59
|
+
to_float(text)
|
60
|
+
else
|
61
|
+
to_float(text) / 1000
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def to_float(text)
|
66
|
+
text.delete(',').to_f
|
50
67
|
end
|
51
68
|
end
|
52
69
|
end
|
@@ -33,6 +33,8 @@ class ThirteenF
|
|
33
33
|
response = HTTP.use(:auto_inflate).headers(www_headers).get(url)
|
34
34
|
handle_response response, response_type: response_type
|
35
35
|
end
|
36
|
+
rescue
|
37
|
+
raise "Request failed at this url: #{url} \n With this response #{response.to_s}"
|
36
38
|
end
|
37
39
|
|
38
40
|
def self.post(url, json)
|
data/lib/thirteen_f/version.rb
CHANGED
data/thirteen_f.gemspec
CHANGED
@@ -34,6 +34,6 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_development_dependency "pry"
|
35
35
|
|
36
36
|
spec.add_runtime_dependency "http", ">= 5.1"
|
37
|
-
spec.add_runtime_dependency "nokogiri", ">= 1.
|
37
|
+
spec.add_runtime_dependency "nokogiri", ">= 1.15"
|
38
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.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Savannah Fischer
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.15'
|
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.15'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pdf-reader
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|