Module: Edgar::Config

Defined in:
lib/edgar/config.rb

Overview

SEC endpoint URLs, rate limit constants, and URL builder methods.

Constant Summary collapse

SEC_BASE_URL =
"https://www.sec.gov"
SEC_DATA_URL =
"https://data.sec.gov"
SEC_ARCHIVE_URL =
"#{SEC_BASE_URL}/Archives/edgar".freeze
EDGAR_RATE_LIMIT_PER_SEC =
9
EDGAR_IDENTITY =
ENV.fetch("EDGAR_IDENTITY", "SampleCompanyName sample.email@example.com")
DEFAULT_TIMEOUT =
30
DEFAULT_CONNECT_TIMEOUT =
10

Class Method Summary collapse

Class Method Details

.company_facts_url(cik) ⇒ Object



27
28
29
30
# File 'lib/edgar/config.rb', line 27

def company_facts_url(cik)
  padded = cik.to_s.rjust(10, "0")
  "#{SEC_DATA_URL}/api/xbrl/companyfacts/CIK#{padded}.json"
end

.daily_index_url(year, quarter, date) ⇒ Object



36
37
38
# File 'lib/edgar/config.rb', line 36

def daily_index_url(year, quarter, date)
  "#{SEC_ARCHIVE_URL}/daily-index/#{year}/QTR#{quarter}/#{date}.idx"
end

.filing_dir_url(cik, accession_number) ⇒ Object



49
50
51
52
# File 'lib/edgar/config.rb', line 49

def filing_dir_url(cik, accession_number)
  no_dashes = accession_number.delete("-")
  "#{SEC_ARCHIVE_URL}/data/#{cik}/#{no_dashes}"
end

.filing_homepage_url(cik, accession_number) ⇒ Object



40
41
42
# File 'lib/edgar/config.rb', line 40

def filing_homepage_url(cik, accession_number)
  "#{SEC_ARCHIVE_URL}/data/#{cik}/#{accession_number}-index.html"
end

.filing_text_url(cik, accession_number) ⇒ Object



44
45
46
47
# File 'lib/edgar/config.rb', line 44

def filing_text_url(cik, accession_number)
  no_dashes = accession_number.delete("-")
  "#{SEC_ARCHIVE_URL}/data/#{cik}/#{no_dashes}/#{accession_number}.txt"
end

.full_index_url(year, quarter, type = "company") ⇒ Object



32
33
34
# File 'lib/edgar/config.rb', line 32

def full_index_url(year, quarter, type = "company")
  "#{SEC_ARCHIVE_URL}/full-index/#{year}/QTR#{quarter}/#{type}.gz"
end

.submissions_file_url(_cik, filename) ⇒ Object



58
59
60
# File 'lib/edgar/config.rb', line 58

def submissions_file_url(_cik, filename)
  "#{SEC_DATA_URL}/submissions/#{filename}"
end

.submissions_url(cik) ⇒ Object



22
23
24
25
# File 'lib/edgar/config.rb', line 22

def submissions_url(cik)
  padded = cik.to_s.rjust(10, "0")
  "#{SEC_DATA_URL}/submissions/CIK#{padded}.json"
end

.tickers_urlObject



54
55
56
# File 'lib/edgar/config.rb', line 54

def tickers_url
  "#{SEC_BASE_URL}/files/company_tickers.json"
end

.user_agentObject



18
19
20
# File 'lib/edgar/config.rb', line 18

def user_agent
  "#{EDGAR_IDENTITY} (Ruby edgar gem #{Edgar::VERSION})"
end