Module: KeepYourHead::BaseStatistic

Included in:
Database::BaseTopicFlashcardContainer, Database::Database, Database::File
Defined in:
lib/Keepyourhead/database/BaseStatistic.rb

Instance Method Summary collapse

Instance Method Details

#collectFlashcardsObject



21
22
23
24
25
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 21

def collectFlashcards
  items.map{ |item| 
    item.collectFlashcards
  }.flatten
end

#countObject



29
30
31
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 29

def count
  items.map{ |item| item.count }.inject(0) { |a,b| a+b }
end

#countActiveObject



32
33
34
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 32

def countActive
  items.map{ |item| item.countActive }.inject(0) { |a,b| a+b }
end

#countPassiveObject



35
36
37
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 35

def countPassive
  items.map{ |item| item.countPassive }.inject(0) { |a,b| a+b }
end

#distributionObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 39

def distribution
  all = items.map{ |item| item.distribution }

  distribution = []
  
  while all.inject(false) { |ret,set| ret ||= (set.length > 0) }
    sum = 0
    all.each { |set| 
      sum += set.pop || 0
    }
    distribution << sum
  end

  distribution = distribution.reverse

  distribution
end

#removeStatisticsObject



57
58
59
# File 'lib/Keepyourhead/database/BaseStatistic.rb', line 57

def removeStatistics
  items.each{ |item| item.removeStatistics }
end