69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# File 'lib/finmodeling/reformulated_balance_sheet.rb', line 69
def analysis(prev)
analysis = CalculationSummary.new
analysis.title = ""
analysis. = .new(:key => "", :vals => [@period.to_pretty_s])
analysis.rows = []
if Config.balance_detail_enabled?
analysis.rows << CalculationRow.new(:key => "A ($MM)",:vals => [@operating_assets.total.to_nearest_million +
@financial_assets.total.to_nearest_million])
analysis.rows << CalculationRow.new(:key => "L ($MM)",:vals => [@operating_liabilities.total.to_nearest_million +
@financial_liabilities.total.to_nearest_million])
end
analysis.rows << CalculationRow.new(:key => "NOA ($MM)", :vals => [net_operating_assets.total.to_nearest_million])
if Config.balance_detail_enabled?
analysis.rows << CalculationRow.new(:key => "OA ($MM)",:vals => [@operating_assets.total.to_nearest_million])
analysis.rows << CalculationRow.new(:key => "OL ($MM)",:vals => [@operating_liabilities.total.to_nearest_million])
end
analysis.rows << CalculationRow.new(:key => "NFA ($MM)", :vals => [net_financial_assets.total.to_nearest_million])
if Config.balance_detail_enabled?
analysis.rows << CalculationRow.new(:key => "FA ($MM)",:vals => [@financial_assets.total.to_nearest_million])
analysis.rows << CalculationRow.new(:key => "FL ($MM)",:vals => [@financial_liabilities.total.to_nearest_million])
end
analysis.rows << CalculationRow.new(:key => "Minority Interest ($MM)", :vals => [@minority_interest.total.to_nearest_million])
analysis.rows << CalculationRow.new(:key => "CSE ($MM)", :vals => [common_shareholders_equity.total.to_nearest_million])
analysis.rows << CalculationRow.new(:key => "Composition Ratio", :vals => [composition_ratio] )
if prev.nil?
if Config.balance_detail_enabled?
analysis.rows << CalculationRow.new(:key => "NOA Δ ($MM)", :vals => [nil] )
analysis.rows << CalculationRow.new(:key => "CSE Δ ($MM)", :vals => [nil] )
end
analysis.rows << CalculationRow.new(:key => "NOA Growth", :vals => [nil] )
analysis.rows << CalculationRow.new(:key => "CSE Growth", :vals => [nil] )
else
if Config.balance_detail_enabled?
analysis.rows << CalculationRow.new(:key => "NOA Δ ($MM)", :vals => [change_in_noa(prev).to_nearest_million] )
analysis.rows << CalculationRow.new(:key => "CSE Δ ($MM)", :vals => [change_in_cse(prev).to_nearest_million] )
end
analysis.rows << CalculationRow.new(:key => "NOA Growth", :vals => [noa_growth(prev)] )
analysis.rows << CalculationRow.new(:key => "CSE Growth", :vals => [cse_growth(prev)] )
end
return analysis
end
|