3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/syslog_ruby/lookup_from_const.rb', line 3
def setup_constants(dst)
constants.each do |pri|
cval = const_get pri
dst[pri] = cval
dst[pri.downcase] = cval
dst[:"LOG_#{pri.to_s}"] = cval
dst[:"LOG_#{pri.downcase.to_s}"] = cval
const_set :"LOG_#{pri.to_s}", cval
dst[pri.to_s] = cval
dst[pri.downcase.to_s] = cval
dst[cval] = cval
end
self.class.send(:define_method, :keys) do
dst.keys
end
self.class.send(:define_method, :[]) do |key|
value_none = const_get :NONE
dst.fetch(key, value_none)
end
self.class.send(:define_method, :[]=) do |key, value|
raise RuntimeError.new "#{self.class} is read only"
end
end
|