Method: FinModeling::AnnualReportFiling#balance_sheet

Defined in:
lib/finmodeling/annual_report_filing.rb

#balance_sheetObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/finmodeling/annual_report_filing.rb', line 39

def balance_sheet
  if @balance_sheet.nil?
    calculations=@taxonomy.callb.calculation
    bal_sheet = calculations.find{ |x| ((x.clean_downcased_title =~ /statement.*financial.*position/) ||
                                        (x.clean_downcased_title =~ /statement.*financial.*condition/) ||
                                        (x.clean_downcased_title =~ /balance.*sheet/)) &&
                                       !(x.clean_downcased_title =~ /^balances included/) &&
                                       !(x.clean_downcased_title =~ /net of tax/) }
    if bal_sheet.nil?
      raise InvalidFilingError.new("Couldn't find balance sheet in: " + calculations.map{ |x| "\"#{x.clean_downcased_title}\"" }.join("; "))
    end

    @balance_sheet = BalanceSheetCalculation.new(bal_sheet)
  end
  return @balance_sheet
end