class Rabbit::Theme::Entry
Constants
- PROPERTY_BASE_NAME
- THEME_BASE_NAME
Attributes
abstract[R]
dependencies[R]
description[R]
logger[RW]
name[R]
parameters[R]
title[R]
Public Class Methods
new(logger, theme_dir, name)
click to toggle source
# File lib/rabbit/theme/entry.rb, line 40 def initialize(logger, theme_dir, name) @logger = logger @theme_dir = theme_dir @name = name @title = @name @category = nil @abstract = nil @description = nil @dependencies = [] @parameters = {} parse_property if available? end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/rabbit/theme/entry.rb, line 61 def <=>(other) @name <=> other.name end
available?()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 53 def available? File.readable?(theme_file) end
category()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 78 def category @category || N_("Etc") end
data_dir()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 86 def data_dir File.join(@theme_dir, "data") end
files()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 90 def files if have_data_dir? Dir.glob(File.join(data_dir, "*")).sort else # backward compatibility rejected_files = [theme_file, property_file] Dir[File.join(@theme_dir, "*")].delete_if do |name| rejected_files.include?(name) end.sort end end
full_path(target)
click to toggle source
# File lib/rabbit/theme/entry.rb, line 69 def full_path(target) if have_data_dir? File.join(data_dir, target) else # backward compatibility File.join(@theme_dir, target) end end
have_file?(target)
click to toggle source
# File lib/rabbit/theme/entry.rb, line 65 def have_file?(target) File.exist?(full_path(target)) end
image_theme?()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 82 def image_theme? have_data_dir? end
property_editable?()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 57 def property_editable? File.writable?(property_file) end
Private Instance Methods
have_data_dir?()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 119 def have_data_dir? File.directory?(data_dir) end
parse_property()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 107 def parse_property file = property_file if File.exist?(file) content = File.open(file) {|f| f.read} begin instance_eval(content, file) rescue SyntaxError @logger.warn($!) if @logger end end end
property_file()
click to toggle source
# File lib/rabbit/theme/entry.rb, line 103 def property_file File.join(@theme_dir, "#{PROPERTY_BASE_NAME}.rb") end