Class: FinModeling::CompanyFiling
- Inherits:
-
Object
- Object
- FinModeling::CompanyFiling
- Defined in:
- lib/finmodeling/company_filing.rb
Direct Known Subclasses
Constant Summary collapse
- DOWNLOAD_PATH =
File.join(FinModeling::BASE_PATH, "filings/")
Instance Attribute Summary collapse
-
#instance ⇒ Object
FIXME: hide this.
Class Method Summary collapse
Instance Method Summary collapse
- #disclosures ⇒ Object
-
#initialize(download_dir) ⇒ CompanyFiling
constructor
A new instance of CompanyFiling.
- #print_calculations ⇒ Object
- #print_presentations ⇒ Object
Constructor Details
#initialize(download_dir) ⇒ CompanyFiling
Returns a new instance of CompanyFiling.
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/finmodeling/company_filing.rb', line 47 def initialize(download_dir) instance_file = Xbrlware.file_grep(download_dir)["ins"] if instance_file.nil? raise "Filing (\"#{download_dir}\") has no instance files. No XBRL filing?" end @instance = Xbrlware.ins(instance_file) @taxonomy = @instance.taxonomy @taxonomy.init_all_lb end |
Instance Attribute Details
#instance ⇒ Object
FIXME: hide this
45 46 47 |
# File 'lib/finmodeling/company_filing.rb', line 45 def instance @instance end |
Class Method Details
.download(url) ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/finmodeling/company_filing.rb', line 58 def self.download(url) FileUtils.mkdir_p(DOWNLOAD_PATH) if !File.exists?(DOWNLOAD_PATH) download_dir = DOWNLOAD_PATH + url.split("/")[-2] if !File.exists?(download_dir) dl = Xbrlware::Edgar::HTMLFeedDownloader.new() dl.download(url, download_dir) end return self.new(download_dir) end |
Instance Method Details
#disclosures ⇒ Object
79 80 81 82 83 84 |
# File 'lib/finmodeling/company_filing.rb', line 79 def disclosures @taxonomy.callb .calculation .select{ |x| x.is_disclosure? } .map{ |x| CompanyFilingCalculation.new(x) } end |
#print_calculations ⇒ Object
74 75 76 77 |
# File 'lib/finmodeling/company_filing.rb', line 74 def print_calculations calculations=@taxonomy.callb.calculation calculations.each { |calc| calc.print_tree } end |
#print_presentations ⇒ Object
69 70 71 72 |
# File 'lib/finmodeling/company_filing.rb', line 69 def print_presentations presentations = @taxonomy.prelb.presentation presentations.each { |pres| pres.print_tree } end |