C0 code coverage information
Generated on Tue May 30 23:34:43 CEST 2006 with rcov 0.5.0
Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
1 class ConfigManager
2
3 def initialize
4 reload
5 end
6
7 def is_ok?
8 settings.include?("blog_name")
9 end
10
11 def reload
12 settings.clear
13 Setting.find(:all).each do |line|
14 settings[line.name.to_s] = normalize_value(line)
15 end
16 end
17
18 def [](key)
19 value = settings[key.to_s]
20 (value.nil?) ? Configuration.fields[key.to_s].default : value rescue nil
21 end
22
23 def self.fields
24 @fields ||= {}
25 end
26
27 protected
28
29 class Item < Struct.new(:name, :ruby_type, :default)
30 end
31
32 def normalize_value(line)
33 case (Configuration.fields[line.name.to_s].ruby_type rescue :string)
34 when :bool
35 ( line.value.to_i != 0 ) ? true : false
36 when :int
37 line.value.to_i
38 else
39 line.value
40 end
41 end
42
43 def self.setting(name, type, default)
44 item = Configuration::Item.new
45 item.name, item.ruby_type, item.default = name, type, default
46 fields[item.name.to_s] = item
47 end
48
49 def settings
50 @hash ||= {}
51 end
52
53 end
Generated using the rcov code coverage analysis tool for Ruby version 0.5.0.