Class: FinModeling::PeriodArray

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

Instance Method Summary collapse

Instance Method Details

#halfyearlyObject



9
10
11
12
13
# File 'lib/finmodeling/period_array.rb', line 9

def halfyearly
  PeriodArray.new(self.select{ |x| x.is_duration? &&
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) >=  5*30) && 
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) <=  7*31) })
end

#quarterlyObject



3
4
5
6
7
# File 'lib/finmodeling/period_array.rb', line 3

def quarterly
  PeriodArray.new(self.select{ |x| x.is_duration? &&
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) >=  2*28) && 
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) <=  4*31) })
end

#threequarterlyObject



15
16
17
18
19
# File 'lib/finmodeling/period_array.rb', line 15

def threequarterly
  PeriodArray.new(self.select{ |x| x.is_duration? &&
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) >=  8*30) && 
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) <= 10*31) })
end

#yearlyObject



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

def yearly
  PeriodArray.new(self.select{ |x| x.is_duration? &&
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) >= 11*30) && 
                                   (Xbrlware::DateUtil.days_between(x.value["end_date"], x.value["start_date"]) <= 13*31) })
end