class Diecut::Mill
Attributes
issue_handler[W]
kind[R]
mediator[W]
templates[W]
valise[W]
Public Class Methods
new(kind)
click to toggle source
# File lib/diecut/mill.rb, line 8 def initialize(kind) @kind = kind end
Public Instance Methods
activate_plugins() { |name| ... }
click to toggle source
# File lib/diecut/mill.rb, line 22 def activate_plugins mediator.plugins.map(&:name).each do |name| if yield(name) mediator.activate(name) else mediator.deactivate(name) end end end
churn(ui) { |path, contents| ... }
click to toggle source
# File lib/diecut/mill.rb, line 73 def churn(ui) templates.context = mediator.apply_user_input(ui, templates.context_class) templates.results do |path, contents| yield(path, contents) end end
context_class()
click to toggle source
# File lib/diecut/mill.rb, line 58 def context_class templates.context_class end
load_files()
click to toggle source
# File lib/diecut/mill.rb, line 52 def load_files valise.filter('**', %i[extended dotmatch]).files do |file| templates.add(file.rel_path.to_s, file.contents) end end
mediator()
click to toggle source
# File lib/diecut/mill.rb, line 14 def mediator @mediator ||= Diecut.mediator(kind) end
templates()
click to toggle source
# File lib/diecut/mill.rb, line 18 def templates @templates ||= TemplateSet.new end
ui_class()
click to toggle source
# File lib/diecut/mill.rb, line 62 def ui_class mediator.build_ui_class(context_class) end
user_interface()
click to toggle source
# File lib/diecut/mill.rb, line 66 def user_interface load_files templates.prepare ui_class.new end
valise()
click to toggle source
# File lib/diecut/mill.rb, line 32 def valise @valise ||= begin stems = mediator.activated_plugins.map do |plugin| plugin.stem_for(kind) end Valise::Set.define do stems.each do |stem| if stem.stem stemmed(stem.stem) do ro stem.template_dir end else ro stem.template_dir end end end end end