thirteen_f 0.5.1 → 0.5.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3ed7ebb2e2cfea6d18e3d1d2e299bc4f5f78d55e38125e5b89d95c83d3097db
4
- data.tar.gz: e41f166c32e1c30a6214bd40845a92f7647a9113565ac7293d4b43dd468e1526
3
+ metadata.gz: dc4778c7ae85336dc1a04f20b6cf194129ac89a3383ad5fd4a18d3681f57693a
4
+ data.tar.gz: 5d8a42799d3b4836ea4b4a5496f5ca8727a861e96553dcfdf52ec6da034d240d
5
5
  SHA512:
6
- metadata.gz: 006aadbbaa7b2aa7df79bedefe4966dc9f5bcc9619a0def79901c6f056bbc74ebcf0a5d76ba58cd9c0d9356ab57a49a8178d2da493e6deb3862379b236ff96cf
7
- data.tar.gz: 137a09503b646f92170a836febcab9607fdc2aba2c2f82c656e2b772bc1975970479bd3cd46d07707f462b19c823546a681ad7f9fc5da4749f27478f8b040c04
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.1)
4
+ thirteen_f (0.5.2)
5
5
  http (>= 5.0)
6
- nokogiri (>= 1.10)
7
- pdf-reader (>= 2.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.0)
14
- public_suffix (>= 2.0.2, < 5.0)
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.3)
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.0.1)
25
- addressable (~> 2.3)
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.3.0)
29
- http-cookie (1.0.4)
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.3.1)
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
- minitest (5.14.4)
37
- nokogiri (1.11.7-x86_64-darwin)
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.5.0)
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 (4.0.6)
49
- racc (1.5.2)
50
- rake (13.0.3)
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.7.7)
57
+ unf_ext (0.0.8.2)
56
58
 
57
59
  PLATFORMS
58
60
  ruby
@@ -47,29 +47,32 @@ class ThirteenF
47
47
 
48
48
  private
49
49
  def cik_from_id(id)
50
- id.prepend('0') until id.length >= 10
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[:accessionNumber][index],
59
- filings_data[:filingDate][index],
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
- HEADERS = {
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
- 'Accept' => '*/*'
20
+ 'Host' => 'efts.sec.gov'
10
21
  }
11
22
 
12
23
  def self.get(url, response_type: :json)
13
- response = HTTP.use(:auto_inflate).headers(HEADERS).get(url)
14
- handle_response response, response_type: response_type
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(HEADERS).post(url, json: json)
35
+ response = HTTP.use(:auto_inflate).headers(EFTS_HEADERS).post(url, json: json)
19
36
  handle_response response
20
37
  end
21
38
 
@@ -1,3 +1,3 @@
1
1
  class ThirteenF
2
- VERSION = "0.5.1"
2
+ VERSION = "0.5.3"
3
3
  end
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(">= 2.6.0")
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.0"
37
- spec.add_runtime_dependency "nokogiri", ">= 1.10"
38
- spec.add_runtime_dependency "pdf-reader", ">= 2.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.1
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: 2021-07-03 00:00:00.000000000 Z
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.0'
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.0'
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.10'
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.10'
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.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.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: 2.6.0
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.2.15
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.