83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/finmodeling/annual_report_filing.rb', line 83
def comprehensive_income_statement
if @comprehensive_income_stmt.nil?
calculations=@taxonomy.callb.calculation
inc_stmt = calculations.find{ |x| ((x.clean_downcased_title =~ /statement.*operations/) ||
(x.clean_downcased_title =~ /statement.*of.*earnings/) ||
(x.clean_downcased_title =~ /statement.*of.*income/) ||
(x.clean_downcased_title =~ /income.*statement/)) &&
(x.clean_downcased_title =~ /comprehensive/) &&
!(x.clean_downcased_title =~ /and other comprehensive/) &&
!(x.clean_downcased_title =~ /statement of stockholders equity/) }
if inc_stmt.nil?
raise InvalidFilingError.new("Couldn't find comprehensive income statement in: " + calculations.map{ |x| "\"#{x.clean_downcased_title}\"" }.join("; "))
end
@comprehensive_income_stmt = ComprehensiveIncomeStatementCalculation.new(inc_stmt)
end
return @comprehensive_income_stmt
end
|