Method: FinModeling::AnnualReportFiling#shareholder_equity_statement

Defined in:
lib/finmodeling/annual_report_filing.rb

#shareholder_equity_statementObject



133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/finmodeling/annual_report_filing.rb', line 133

def shareholder_equity_statement
  if @shareholder_equity_stmt.nil?
    calculations=@taxonomy.callb.calculation
    shareholder_equity_stmt = calculations.find{ |x| (x.clean_downcased_title =~ /statement(|s).*of.*(share|stock)holders(|').*equity(|.*and.*comprehensive|.*and.*other.*comprehensive|.*and.*comprehensive)(|.*income|.*loss|.*income.*loss|.*loss.*income)$/) ||
                                                     (x.clean_downcased_title =~ /statements.*of.*changes.*in.*shareholders.*equity/) }
    if shareholder_equity_stmt.nil?
      raise InvalidFilingError.new("Couldn't find shareholders' equity statement in: " + calculations.map{ |x| "\"#{x.clean_downcased_title}\"" }.join("; "))
    end

    @shareholder_equity_stmt = ShareholderEquityStatementCalculation.new(shareholder_equity_stmt)
  end
  return @shareholder_equity_stmt
end