プロジェクト

全般

プロフィール

機能 #722 » 0001-DSL.patch

Satoshi Okuno, 2014-10-26 22:30

差分を表示:

core/plugin.rb
202 202
    add_event_filter(:defined_settings) do |tabs|
203 203
      [tabs.melt << [name, place, @name]] end end
204 204

  
205
  # 画像ファイルのパスを得る
206
  # ==== Args
207
  # - String filename ファイル名
208
   def get_skin(filename)
209
    plugin_skin_dir = File.join(spec[:path], "skin")
210

  
211
    if File.exist?(plugin_skin_dir)
212
      Skin.get(filename, [plugin_skin_dir])
213
    else
214
      Skin.get(filename)
215
    end
216
  end
217

  
205 218
  # マジックメソッドを追加する。
206 219
  # on_?name :: add_event(name)
207 220
  # filter_?name :: add_event_filter(name)
core/skin.rb
19 19

  
20 20
  def self.user_dir
21 21
    if USER_SKIN
22
      p [SKIN_ROOT, USER_SKIN]
23 22
      File.join(SKIN_ROOT, USER_SKIN)
24 23
    else
25 24
      nil
26 25
    end
27 26
  end
28 27

  
29
  def self.get(filename, default = default_image)
30
    valid_path = [ user_dir, default_dir ].compact.map { |_|
28
  def self.get(filename, fallback_dirs = [])
29
    search_path = [ user_dir, fallback_dirs, default_dir ].flatten.compact
30

  
31
    valid_path = search_path.map { |_|
31 32
      File.join(_, filename)
32 33
    }.select { |_|
33 34
      FileTest.exist?(_)
......
36 37
    if valid_path
37 38
      valid_path
38 39
    else
39
      default
40
      default_image
40 41
    end
41 42
  end
42 43
end
(3-3/5)