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 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.