39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/tdiary/io/base.rb', line 39
def load_styles
@styles = {}
paths = @tdiary.conf.options['style.path'] ||
[TDiary::PATH, TDiary.server_root].map {|base| "#{base}/tdiary/style" }
[paths].flatten.uniq.each do |path|
path = path.sub(/\/+$/, '')
Dir.glob("#{path}/*.rb") {|style_file| require style_file }
end
TDiary::Style.constants(false).each do |name|
prefix = name.slice(/\A(.*)Diary\z/, 1)
if prefix && /\A(Base|Categorizable|Uncategorizable)\z/ !~ prefix
klass = TDiary::Style.const_get(name)
klass.send(:include, TDiary::Style::BaseDiary)
klass.send(:include, TDiary::Style::CategorizableDiary)
section_class_name = "#{prefix}Section"
if TDiary::Style.const_defined?(section_class_name)
TDiary::Style.const_get(section_class_name).send(:include, TDiary::Style::BaseSection)
end
@styles[prefix.downcase] = klass
end
end
end
|