機能 #722 » 0001-DSL.patch
core/plugin.rb | ||
---|---|---|
add_event_filter(:defined_settings) do |tabs|
|
||
[tabs.melt << [name, place, @name]] end end
|
||
# 画像ファイルのパスを得る
|
||
# ==== Args
|
||
# - String filename ファイル名
|
||
def get_skin(filename)
|
||
plugin_skin_dir = File.join(spec[:path], "skin")
|
||
if File.exist?(plugin_skin_dir)
|
||
Skin.get(filename, [plugin_skin_dir])
|
||
else
|
||
Skin.get(filename)
|
||
end
|
||
end
|
||
# マジックメソッドを追加する。
|
||
# on_?name :: add_event(name)
|
||
# filter_?name :: add_event_filter(name)
|
core/skin.rb | ||
---|---|---|
def self.user_dir
|
||
if USER_SKIN
|
||
p [SKIN_ROOT, USER_SKIN]
|
||
File.join(SKIN_ROOT, USER_SKIN)
|
||
else
|
||
nil
|
||
end
|
||
end
|
||
def self.get(filename, default = default_image)
|
||
valid_path = [ user_dir, default_dir ].compact.map { |_|
|
||
def self.get(filename, fallback_dirs = [])
|
||
search_path = [ user_dir, fallback_dirs, default_dir ].flatten.compact
|
||
valid_path = search_path.map { |_|
|
||
File.join(_, filename)
|
||
}.select { |_|
|
||
FileTest.exist?(_)
|
||
... | ... | |
if valid_path
|
||
valid_path
|
||
else
|
||
default
|
||
default_image
|
||
end
|
||
end
|
||
end
|