class Rabbit::ThemeConfiguration
Constants
- GEM_NAME_PREFIX
Attributes
id[RW]
licenses[RW]
logger[RW]
version[W]
Public Class Methods
new(logger=nil)
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 33 def initialize(logger=nil) @logger = logger || Logger.default @id = nil @tags = [] @version = nil @licenses = [] @author = nil end
Public Instance Methods
gem_name()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 90 def gem_name "#{GEM_NAME_PREFIX}-#{@id}" end
load()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 42 def load return unless File.exist?(path) conf = YAMLLoader.load(File.read(path)) merge!(conf) rescue format = _("Failed to read slide configuration: %s: %s") @logger.error(format % [path, $!.message]) end
merge!(conf)
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 61 def merge!(conf) @id = conf["id"] @tags = conf["tags"] @version = conf["version"] @licenses = conf["licenses"] @author = AuthorConfiguration.new(@logger) @author.merge!(conf["author"] || {}) end
path()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 94 def path "config.yaml" end
save(base_dir)
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 51 def save(base_dir) config_path = File.join(base_dir, path) create_file(config_path) do |conf_file| conf_file.print(to_yaml) end rescue format = _("Failed to write slide configuration: %s: %s") @logger.error(format % [config_path, $!.message]) end
to_hash()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 71 def to_hash config = { "id" => @id, "tags" => @tags, "version" => version, "licenses" => @licenses, } config["author"] = @author.to_hash if @author config end
to_yaml()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 82 def to_yaml to_hash.to_yaml end
version()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 86 def version @version || default_version end
Private Instance Methods
default_version()
click to toggle source
# File lib/rabbit/theme-configuration.rb, line 99 def default_version "1.0.0" end