Class: FinModeling::EquityChangeCalculation
- Inherits:
-
CompanyFilingCalculation
- Object
- CompanyFilingCalculation
- FinModeling::EquityChangeCalculation
- Includes:
- CanCacheClassifications, CanCacheSummaries, CanClassifyRows
- Defined in:
- lib/finmodeling/equity_change_calculation.rb
Constant Summary collapse
- BASE_FILENAME =
File.join(FinModeling::BASE_PATH, "summaries/equity_change_")
- ALL_STATES =
[ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ]
- NEXT_STATES =
{ nil => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :share_issue => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :share_repurch => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :minority_int => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :common_div => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :net_income => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :oci => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ], :preferred_div => [ :share_issue, :share_repurch, :minority_int, :common_div, :net_income, :oci, :preferred_div ] }
Instance Attribute Summary
Attributes inherited from CompanyFilingCalculation
Instance Method Summary collapse
Methods inherited from CompanyFilingCalculation
#initialize, #label, #leaf_items, #leaf_items_sum, #periods, #write_constructor
Constructor Details
This class inherits a constructor from FinModeling::CompanyFilingCalculation
Instance Method Details
#summary(args) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/finmodeling/equity_change_calculation.rb', line 20 def summary(args) summary_cache_key = args[:period].to_pretty_s summary = lookup_cached_summary(summary_cache_key) return summary if !summary.nil? && false # FIXME: get rid of "and false" mapping = Xbrlware::ValueMapping.new mapping.policy[:unknown] = :no_action mapping.policy[:credit] = :no_action mapping.policy[:debit] = :flip summary = super(:period => args[:period], :mapping => mapping) if !lookup_cached_classifications(BASE_FILENAME, summary.rows) || true # FIXME: get rid of "or true" lookahead = [2, summary.rows.length-1].min classify_rows(ALL_STATES, NEXT_STATES, summary.rows, FinModeling::EquityChangeItem, lookahead) save_cached_classifications(BASE_FILENAME, summary.rows) end save_cached_summary(summary_cache_key, summary) return summary end |