class Dugway::Cli::Build

Public Class Methods

destination_root() click to toggle source
# File lib/dugway/cli/build.rb, line 12
def self.destination_root
  File.join(Dir.pwd, 'build')
end
source_root() click to toggle source
# File lib/dugway/cli/build.rb, line 8
def self.source_root
  File.join(Dir.pwd, 'source')
end

Public Instance Methods

build() click to toggle source
# File lib/dugway/cli/build.rb, line 27
def build
  Zip::ZipFile.open(build_file, Zip::ZipFile::CREATE) do |zipfile|
    theme.files.each do |file|
      zipfile.get_output_stream(file) do |f|
        f << theme.build_file(file)
      end
    end
  end
end
create_destination() click to toggle source
# File lib/dugway/cli/build.rb, line 23
def create_destination
  empty_directory self.class.destination_root
end
success() click to toggle source
# File lib/dugway/cli/build.rb, line 37
def success
  say_status(:create, "build/#{ build_name }")
end
validate() click to toggle source
# File lib/dugway/cli/build.rb, line 16
def validate
  unless theme.valid?
    theme.errors.each { |error| say(error, :red) }
    raise "Theme is invalid"
  end
end

Private Instance Methods

build_file() click to toggle source
# File lib/dugway/cli/build.rb, line 51
def build_file
  @build_file ||= File.join(self.class.destination_root, build_name)
end
build_name() click to toggle source
# File lib/dugway/cli/build.rb, line 47
def build_name
  @build_name ||= "#{ theme.name.parameterize }-#{ theme.version }.zip"
end
theme() click to toggle source
# File lib/dugway/cli/build.rb, line 43
def theme
  @theme ||= Dugway.theme
end