class Rabbit::Theme::GemEntry

Public Class Methods

new(logger, name) click to toggle source
Calls superclass method Rabbit::Theme::Entry::new
# File lib/rabbit/theme/entry.rb, line 158
def initialize(logger, name)
  @spec = nil
  if valid_gem_name?(name)
    finder = GemFinder.new(logger)
    begin
      @spec = finder.find(name, "#{ThemeConfiguration::GEM_NAME_PREFIX}-")
    rescue Gem::GemNotFoundException
    end
  end
  theme_dir = nil
  theme_dir = @spec.gem_dir if @spec
  super(logger, theme_dir, name)
end

Public Instance Methods

available?() click to toggle source
Calls superclass method Rabbit::Theme::Entry#available?
# File lib/rabbit/theme/entry.rb, line 172
def available?
  @theme_dir and super
end
files() click to toggle source
# File lib/rabbit/theme/entry.rb, line 184
def files
  Dir.glob(File.join(data_dir, "*")).sort
end
full_path(target) click to toggle source
# File lib/rabbit/theme/entry.rb, line 180
def full_path(target)
  File.join(data_dir, target)
end
theme_file() click to toggle source
# File lib/rabbit/theme/entry.rb, line 176
def theme_file
  File.join(@theme_dir, "#{THEME_BASE_NAME}.rb")
end

Private Instance Methods

valid_gem_name?(name) click to toggle source
# File lib/rabbit/theme/entry.rb, line 189
def valid_gem_name?(name)
  /\A[a-z\d_\-]+\z/i =~ name
end