Class: FinModeling::ReformulatedShareholderEquityStatement
- Inherits:
-
Object
- Object
- FinModeling::ReformulatedShareholderEquityStatement
- Defined in:
- lib/finmodeling/reformulated_shareholder_equity_statement.rb
Instance Attribute Summary collapse
-
#period ⇒ Object
Returns the value of attribute period.
Instance Method Summary collapse
- #analysis ⇒ Object
- #comprehensive_income ⇒ Object
-
#initialize(period, equity_change_summary) ⇒ ReformulatedShareholderEquityStatement
constructor
A new instance of ReformulatedShareholderEquityStatement.
- #transactions_with_shareholders ⇒ Object
Constructor Details
#initialize(period, equity_change_summary) ⇒ ReformulatedShareholderEquityStatement
Returns a new instance of ReformulatedShareholderEquityStatement.
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/finmodeling/reformulated_shareholder_equity_statement.rb', line 5 def initialize(period, equity_change_summary) @period = period @share_issue = equity_change_summary.filter_by_type(:share_issue ) @minority_int = equity_change_summary.filter_by_type(:minority_int ) @share_repurch = equity_change_summary.filter_by_type(:share_repurch) @common_div = equity_change_summary.filter_by_type(:common_div ) @net_income = equity_change_summary.filter_by_type(:net_income ) @oci = equity_change_summary.filter_by_type(:oci ) @preferred_div = equity_change_summary.filter_by_type(:preferred_div) end |
Instance Attribute Details
#period ⇒ Object
Returns the value of attribute period.
3 4 5 |
# File 'lib/finmodeling/reformulated_shareholder_equity_statement.rb', line 3 def period @period end |
Instance Method Details
#analysis ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/finmodeling/reformulated_shareholder_equity_statement.rb', line 36 def analysis analysis = CalculationSummary.new analysis.title = "" analysis.header_row = CalculationHeader.new(:key => "", :vals => [@period.value["end_date"].to_s]) analysis.rows = [] analysis.rows << CalculationRow.new(:key => "Tx w Shareholders ($MM)", :vals => [transactions_with_shareholders.total.to_nearest_million]) analysis.rows << CalculationRow.new(:key => "CI ($MM)", :vals => [comprehensive_income.total.to_nearest_million]) return analysis end |
#comprehensive_income ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/finmodeling/reformulated_shareholder_equity_statement.rb', line 27 def comprehensive_income cs = FinModeling::CalculationSummary.new cs.title = "Comprehensive Income" cs.rows = [ CalculationRow.new(:key => "Net Income", :vals => [@net_income .total] ), CalculationRow.new(:key => "Other Comprehensive Income", :vals => [@oci .total] ), CalculationRow.new(:key => "Preferred Dividends", :vals => [@preferred_div.total] ) ] return cs end |
#transactions_with_shareholders ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/finmodeling/reformulated_shareholder_equity_statement.rb', line 17 def transactions_with_shareholders cs = FinModeling::CalculationSummary.new cs.title = "Transactions with Shareholders" cs.rows = [ CalculationRow.new(:key => "Share Issues", :vals => [@share_issue .total] ), CalculationRow.new(:key => "Minority Interest", :vals => [@minority_int .total] ), CalculationRow.new(:key => "Share Repurchases", :vals => [@share_repurch.total] ), CalculationRow.new(:key => "Common Dividends", :vals => [@common_div .total] ) ] return cs end |