Sha256: 9da4aae32b8ccf4b9d22bd3804ab6071d90e1cb533153a5c6048cdc0805d085c

Contents?: true

Size: 918 Bytes

Versions: 5

Compression:

Stored size: 918 Bytes

Contents

module Maglove
  class Theme
    include Singleton
    attr_reader :identifier, :name, :base_version, :description, :templates, :fonts, :widgets
    attr_reader :src_dir, :dist_dir, :base_dir

    def loaded?
      !identifier.nil?
    end

    def load(identifier)
      yaml = Workspace::Dir.new(Dir.pwd, "src/themes/#{identifier}").file("theme.yml").read_yaml
      # theme properties
      @identifier = yaml["identifier"]
      @name = yaml["name"]
      @base_version = yaml["base_version"]
      @description = yaml["description"]
      @templates = yaml["templates"]
      @fonts = yaml["fonts"]
      @widgets = yaml["widgets"]
      # directories
      @src_dir = Workspace.dir(File.join(Dir.pwd, "src/themes/#{@identifier}"))
      @dist_dir = Workspace.dir(File.join(Dir.pwd, "dist/themes/#{@identifier}"))
      @base_dir = Workspace.dir(File.join(Dir.pwd, "src/base/#{@base_version}"))
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
maglove-2.0.11 lib/maglove/theme.rb
maglove-2.0.10 lib/maglove/theme.rb
maglove-2.0.9 lib/maglove/theme.rb
maglove-2.0.8 lib/maglove/theme.rb
maglove-2.0.7 lib/maglove/theme.rb