Method: TDiary::IO::Base#load_styles

Defined in:
lib/tdiary/io/base.rb

#load_stylesObject



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