class Diecut::CommandLine
Public Class Methods
add_kind(kind)
click to toggle source
# File lib/diecut/cli.rb, line 104 def self.add_kind(kind) desc "#{kind}", "Commands related to templating for #{kind}" kind_class = build_kind_subcommand(kind) const_set(kind.sub(/\A./){|match| match.upcase }, kind_class) subcommand kind, kind_class end
build_kind_subcommand(plugin_kind)
click to toggle source
# File lib/diecut/cli.rb, line 89 def self.build_kind_subcommand(plugin_kind) mediator = Diecut.mediator(plugin_kind) example_ui = mediator.build_example_ui Class.new(Thor) do gen = Cli::TargetedGenerate.subclass_for(plugin_kind, mediator, example_ui) method_options(gen.class_options) register gen, "generate", "#{plugin_kind} generate TARGET", "Generate #{plugin_kind} output" lint = Cli::Lint.subclass_for(plugin_kind, mediator, example_ui) method_options(lint.class_options) register lint, "lint", "#{plugin_kind} lint", "Check well-formed-ness of #{plugin_kind} code generators" end end