Class: Inform::Module

Inherits:
Sequel::Model show all
Defined in:
lib/runtime/module.rb

Overview

Deine the Inform::Module class

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Sequel::Model

implicit_table_name

Methods included from InheritanceListener

included

Class Method Details

.dirtyObject

rubocop: disable Style/FormatString rubocop: disable Style/FormatStringToken



73
74
75
76
77
78
79
80
# File 'lib/runtime/module.rb', line 73

def self.dirty
  results = db.fetch %{select a.id, a.name from module a group by a.id, a.name having
((select count(b.id) from modularized b where b.module_id = a.id) = 0)}
  return nil if results.empty?
  s = ["%5s %20s" % results.first.keys]
  s.concat(results.collect { |row| "%5d %20s" % row.values })
  s.join("\n")
end

.statsObject

rubocop: disable Style/FormatString rubocop: disable Style/FormatStringToken



86
87
88
89
90
91
92
93
# File 'lib/runtime/module.rb', line 86

def self.stats
  results = db.fetch %{select a.*, count(a.id) as "number modularized"
from module a, modularized b where b.module_id = a.id group by a.id, a.name}
  return nil if results.empty?
  s = ["%5s %20s %15s" % results.first.keys]
  s.concat(results.collect { |row| "%5d %20s %15s" % row.values })
  s.join("\n")
end

.tidyObject



63
64
65
66
67
68
69
# File 'lib/runtime/module.rb', line 63

def self.tidy
  db << %{delete from module where id in
(select a.id from module a group by a.id, a.name
having ((select count(b.id) from modularized b
where b.module_id = a.id) = 0))}
  return nil
end

Instance Method Details

#<=>(other) ⇒ Object



59
60
61
# File 'lib/runtime/module.rb', line 59

def <=>(other)
  self.name <=> other.name
end

#to_sObject



55
56
57
# File 'lib/runtime/module.rb', line 55

def to_s
  name
end