Class: FinModeling::ShareholderEquityStatementCalculation

Inherits:
CompanyFilingCalculation show all
Defined in:
lib/finmodeling/shareholder_equity_statement_calculation.rb

Constant Summary collapse

EC_GOAL =

include CanChooseSuccessivePeriods

"change in shareholder equity"
EC_LABELS =
[ /^stockholders equity period increase decrease$/ ]
EC_ANTI_LABELS =
[ ]
EC_IDS =
[ /^(|Locator_|loc_)(|us-gaap_)StockholdersEquityPeriodIncreaseDecrease[_a-z0-9]+/ ]

Instance Attribute Summary

Attributes inherited from CompanyFilingCalculation

#calculation

Instance Method Summary collapse

Methods inherited from CompanyFilingCalculation

#initialize, #label, #leaf_items, #leaf_items_sum, #periods, #summary

Constructor Details

This class inherits a constructor from FinModeling::CompanyFilingCalculation

Instance Method Details

#equity_change_calculationObject



9
10
11
12
13
14
15
16
# File 'lib/finmodeling/shareholder_equity_statement_calculation.rb', line 9

def equity_change_calculation
  begin
    @ec ||= EquityChangeCalculation.new(find_calculation_arc(EC_GOAL, EC_LABELS, EC_ANTI_LABELS, EC_IDS))
  rescue FinModeling::InvalidFilingError => e
    pre_msg = "calculation tree:\n" + self.calculation.sprint_tree
    raise e, pre_msg+e.message, e.backtrace
  end
end

#is_valid?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/finmodeling/shareholder_equity_statement_calculation.rb', line 18

def is_valid?
  return true
end

#reformulated(period) ⇒ Object



22
23
24
25
# File 'lib/finmodeling/shareholder_equity_statement_calculation.rb', line 22

def reformulated(period)
  return ReformulatedShareholderEquityStatement.new(period, 
                                                    equity_change_calculation.summary(:period=>period))
end

#write_constructor(file, item_name) ⇒ Object



27
28
29
30
31
# File 'lib/finmodeling/shareholder_equity_statement_calculation.rb', line 27

def write_constructor(file, item_name)
  item_calc_name = item_name + "_calc"
  @calculation.write_constructor(file, item_calc_name)
  file.puts "#{item_name} = FinModeling::ShareholderEquityStatementCalculation.new(#{item_calc_name})"
end