Module: Edgar::DataObjects

Defined in:
lib/edgar/data_objects.rb

Overview

Form-type dispatching: maps filing forms to specialized data objects.

Defined Under Namespace

Classes: AlternativeTradingSystem, AtsCessation, Base, Correspondence, DraftRegistrationStatement, Effect, FilingSummary, Form13F, Form144, Form20F, Form3, Form4, Form5, Form6K, Form8K, FormC, FormD, FormNCSR, FormNport, FortyF, FundCensus, FundFeeNotice, FundReport, FundShareholderReport, MoneyMarketFund, MunicipalAdvisorForm, NPX, Prospectus424B, Prospectus497K, ProxyStatement, RegistrationS1, RegistrationS3, S1, Schedule13D, Schedule13G, TenD, TenK, TenQ, XmlFiling

Constant Summary collapse

EightK =

Python-compatible alias classes

Form8K
SixK =
Form6K
TwentyF =
Form20F
FORM_MAP =
{
  "10-K" => TenK,
  "10-K/A" => TenK,
  "10-Q" => TenQ,
  "10-Q/A" => TenQ,
  "4" => Form4,
  "4/A" => Form4,
  "8-K" => EightK,
  "8-K/A" => EightK,
  "6-K" => SixK,
  "6-K/A" => SixK,
  "20-F" => TwentyF,
  "20-F/A" => TwentyF,
  "40-F" => FortyF,
  "40-F/A" => FortyF,
  "SC 13D" => Schedule13D,
  "SC 13D/A" => Schedule13D,
  "SC 13G" => Schedule13G,
  "SC 13G/A" => Schedule13G,
  "NPORT-P" => FundReport,
  "NPORT-P/A" => FundReport,
  "NPORT-EX" => FundReport,
  "13F-HR" => Form13F,
  "13F-HR/A" => Form13F,
  "3" => Form3,
  "3/A" => Form3,
  "5" => Form5,
  "5/A" => Form5,
  "144" => Form144,
  "144/A" => Form144,
  "DEF 14A" => ProxyStatement,
  "DEFA 14A" => ProxyStatement,
  "DEFM 14A" => ProxyStatement,
  "DEFC 14A" => ProxyStatement,
  "DEFN 14A" => ProxyStatement,
  "DFAN 14A" => ProxyStatement,
  "DEFR 14A" => ProxyStatement,
  "DFRN 14A" => ProxyStatement,
  "PRE 14A" => ProxyStatement,
  "PREC 14A" => ProxyStatement,
  "PREN 14A" => ProxyStatement,
  "PREM 14A" => ProxyStatement,
  "S-1" => RegistrationS1,
  "S-1/A" => RegistrationS1,
  "F-1" => RegistrationS1,
  "F-1/A" => RegistrationS1,
  "S-3" => RegistrationS3,
  "S-3/A" => RegistrationS3,
  "S-3ASR" => RegistrationS3,
  "S-3ASR/A" => RegistrationS3,
  "S-3D" => RegistrationS3,
  "S-3DPOS" => RegistrationS3,
  "F-3" => RegistrationS3,
  "F-3/A" => RegistrationS3,
  "F-3ASR" => RegistrationS3,
  "F-3ASR/A" => RegistrationS3,
  "424B1" => Prospectus424B,
  "424B2" => Prospectus424B,
  "424B3" => Prospectus424B,
  "424B4" => Prospectus424B,
  "424B5" => Prospectus424B,
  "424B7" => Prospectus424B,
  "424B8" => Prospectus424B,
  "497K" => Prospectus497K,
  "N-CSR" => FundShareholderReport,
  "N-CSRS" => FundShareholderReport,
  "N-CEN" => FundCensus,
  "N-MFP2" => MoneyMarketFund,
  "N-MFP3" => MoneyMarketFund,
  "N-PX" => NPX,
  "10-D" => TenD,
  "10-D/A" => TenD,
  "24F-2NT" => FundFeeNotice,
  "MA-I" => MunicipalAdvisorForm,
  "MA" => XmlFiling,
  "MA-W" => XmlFiling,
  "C" => FormC,
  "C/A" => FormC,
  "C-U" => FormC,
  "C-AR" => FormC,
  "C-TR" => FormC,
  "D" => FormD,
  "D/A" => FormD,
  "CORRESP" => Correspondence,
  "UPLOAD" => Correspondence,
  "EFFECT" => Effect,
  "ATS-N" => AlternativeTradingSystem,
  "ATS-N/A" => AlternativeTradingSystem,
  "ATS-N-W" => AlternativeTradingSystem,
  "DRS" => DraftRegistrationStatement,
  "DRS/A" => DraftRegistrationStatement,
  "X-17A-5" => XmlFiling,
  "TA-1" => XmlFiling,
  "TA-2" => XmlFiling,
  "TA-W" => XmlFiling,
  "CFPORTAL" => XmlFiling,
  "SBSE" => XmlFiling,
  "SBSE-A" => XmlFiling,
  "SBSE-W" => XmlFiling,
  "ATS-N-C" => AtsCessation
}.freeze

Class Method Summary collapse

Class Method Details

.for(filing) ⇒ Object



513
514
515
516
517
518
519
# File 'lib/edgar/data_objects.rb', line 513

def self.for(filing)
  form = filing.form
  klass = FORM_MAP[form]
  klass ||= FORM_MAP[form.sub(%r{/A$}, "")]
  klass ||= Base
  klass.new(filing)
end