Class: FinModeling::CachedAnnualFiling

Inherits:
Object
  • Object
show all
Defined in:
lib/finmodeling/company_filing.rb

Direct Known Subclasses

CachedQuarterlyFiling

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bs, is, cis, cfs, ses, disclosures) ⇒ CachedAnnualFiling

Returns a new instance of CachedAnnualFiling.



5
6
7
8
9
10
11
12
# File 'lib/finmodeling/company_filing.rb', line 5

def initialize(bs, is, cis, cfs, ses, disclosures)
  @balance_sheet                  = bs
  @income_statement               = is
  @comprehensive_income_statement = cis
  @cash_flow_statement            = cfs
  @shareholder_equity_statement   = ses
  @disclosures                    = disclosures
end

Instance Attribute Details

#balance_sheetObject

Returns the value of attribute balance_sheet.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def balance_sheet
  @balance_sheet
end

#cash_flow_statementObject

Returns the value of attribute cash_flow_statement.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def cash_flow_statement
  @cash_flow_statement
end

#comprehensive_income_statementObject

Returns the value of attribute comprehensive_income_statement.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def comprehensive_income_statement
  @comprehensive_income_statement
end

#disclosuresObject

Returns the value of attribute disclosures.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def disclosures
  @disclosures
end

#income_statementObject

Returns the value of attribute income_statement.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def income_statement
  @income_statement
end

#shareholder_equity_statementObject

Returns the value of attribute shareholder_equity_statement.



4
5
6
# File 'lib/finmodeling/company_filing.rb', line 4

def shareholder_equity_statement
  @shareholder_equity_statement
end

Instance Method Details

#has_a_comprehensive_income_statement?Boolean

Returns:

  • (Boolean)


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

def has_a_comprehensive_income_statement?
  !@comprehensive_income_statement.nil?
end

#has_a_shareholder_equity_statement?Boolean

Returns:

  • (Boolean)


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

def has_a_shareholder_equity_statement?
  !@shareholder_equity_statement.nil?
end

#has_an_income_statement?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/finmodeling/company_filing.rb', line 14

def has_an_income_statement?
  !@income_statement.nil?
end

#is_valid?Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/finmodeling/company_filing.rb', line 26

def is_valid?
  puts "balance sheet is not valid" if !@balance_sheet.is_valid?
  puts "income statment is not valid" if has_an_income_statement? && !@income_statement.is_valid?
  puts "comprehensive income statment is not valid" if has_a_comprehensive_income_statement? && !@comprehensive_income_statement.is_valid?
  #puts "cash flow statement is not valid" if !cash_flow_statement.is_valid?

  return false if !@balance_sheet.is_valid?
  return false if has_an_income_statement? && !@income_statement.is_valid?
  return false if has_a_comprehensive_income_statement? && !@comprehensive_income_statement.is_valid?
  #return false if !@cash_flow_statement.is_valid? # FIXME: why can't we enable this?
  return true
end