class Diecut::Cli::KindGroup

Public Class Methods

kind() click to toggle source
# File lib/diecut/cli.rb, line 13
def self.kind
  @kind
end
setup_subclass(mediator, example_ui) click to toggle source
# File lib/diecut/cli.rb, line 29
def self.setup_subclass(mediator, example_ui)
end
subclass_for(kind, mediator = nil, example_ui = nil) click to toggle source
# File lib/diecut/cli.rb, line 8
def self.subclass_for(kind, mediator = nil, example_ui = nil)
  mediator ||= Diecut.mediator(kind)
  example_ui ||= mediator.build_example_ui

  Class.new(self) do
    def self.kind
      @kind
    end

    desc "Generates #{kind} code into a target directory"

    mediator.plugins.each do |plugin|
      class_option "with-#{plugin.name}", :default => plugin.default_activated_for(kind)
    end

    setup_subclass(mediator, example_ui)
  end.tap do |klass|
    klass.instance_variable_set("@kind", kind)
  end
end