Sha256: 9b792a182e73d209b9e70336c017cd328e91947878157839c3c0ebaf634fdf8a
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
# ralbum require 'ralbum/options' require 'ralbum/skin' class SkinManager # # +skins_dirname+: directory contains all the skin in subdirectory # def initialize( skins_dirname = nil ) if skins_dirname @skins_dirname = skins_dirname else @skins_dirname = File.expand_path(File.join(File.dirname(__FILE__), "skins")) end @skins = {} Dir.new( @skins_dirname).entries.each { |dir| next if dir =~ /^\./ # if the directory starts with dot ignore @skins[dir] = Skin.new(dir, File.expand_path(File.join(@skins_dirname, dir)) ) } end # iterate over skin def each(&block) @skins.each_value(&block) end def has_skin?( skin_name ) @skins.has_key?( skin_name ) end def get_skin( skin_name ) if not has_skin?( skin_name ) raise RAlbumException.new, "Unknow skin #{skin_name}" end @skins[skin_name] end def skins_with_engine(engine) @skins.find_all{ |skin| skin.engine.class == engine} end # TODO: better format def describe_skins str = "" @skins.keys.sort.each do |skin_name| skin = @skins[skin_name] s = skin_name + "\t by '" + skin.skin_author + "' " + skin.skin_description str += s + "\n" end str end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gf-ralbum-0.0.5 | lib/ralbum/skin_manager.rb |