Method: FinModeling::EquityChangeCalculation#summary

Defined in:
lib/finmodeling/equity_change_calculation.rb

#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