class Diecut::Cli::Generate

Public Class Methods

setup_subclass(mediator, example_ui) click to toggle source
# File lib/diecut/cli.rb, line 36
def self.setup_subclass(mediator, example_ui)
  example_ui.field_names.each do |field|
    class_option(field, {
      :desc     => example_ui.description(field) || field,
      :required => example_ui.required?(field),
      :default  => example_ui.default_for(field)
    })
  end
end

Public Instance Methods

files() click to toggle source
# File lib/diecut/cli.rb, line 46
def files
  self.destination_root = target_dir

  mill = Mill.new(self.class.kind)
  mill.activate_plugins {|name| options["with-#{name}"] }

  ui = mill.user_interface
  ui_hash = Hash[ options.find_all do |name, value|
    not value.nil?
  end]
  ui.from_hash(ui_hash)

  mill.churn(ui) do |path, contents|
    create_file(path, contents)
  end
end