thirteen_f 0.5.6 → 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|