Module: Diecut
- Defined in:
- lib/diecut.rb,
lib/diecut/cli.rb,
lib/diecut/mill.rb,
lib/diecut/errors.rb,
lib/diecut/linter.rb,
lib/diecut/report.rb,
lib/diecut/mediator.rb,
lib/diecut/mustache.rb,
lib/diecut/template.rb,
lib/diecut/ui-config.rb,
lib/diecut/ui-applier.rb,
lib/diecut/configurable.rb,
lib/diecut/error-report.rb,
lib/diecut/template-set.rb,
lib/diecut/plugin-loader.rb,
lib/diecut/report-builder.rb,
lib/diecut/context-handler.rb,
lib/diecut/template-reducer.rb,
lib/diecut/plugin-description.rb,
lib/diecut/caller-locations-polyfill.rb,
lib/diecut/plugin-description/option.rb,
lib/diecut/report-builders/template-list.rb,
lib/diecut/report-builders/invalid-plugin.rb,
lib/diecut/report-builders/orphaned-field.rb,
lib/diecut/report-builders/unused-default.rb,
lib/diecut/report-builders/exception-report.rb,
lib/diecut/report-builders/option-collision.rb,
lib/diecut/plugin-description/context-default.rb,
lib/diecut/report-builders/missing-context-field.rb,
lib/diecut/report-builders/overridden-context-defaults.rb
Defined Under Namespace
Modules: CallerLocationsPolyfill, Cli, ErrorHandling, ReportBuilders
Classes: CommandLine, Configurable, ContextHandler, Error, FieldClash, InvalidPlugin, Linter, Mediator, Mill, MissingContext, Mustache, OverriddenDefault, PluginDescription, PluginLoader, Report, ReportBuilder, ReportFormatter, Template, TemplateListBuilder, TemplateReducer, TemplateSet, UIApplier, UIConfig, UnusedDefault
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.issue_handler ⇒ Object
28
29
30
|
# File 'lib/diecut.rb', line 28
def issue_handler
@issue_handler ||= ErrorHandling::AllWarn.new
end
|
Class Method Details
.clear_plugins ⇒ Object
16
17
18
|
# File 'lib/diecut.rb', line 16
def clear_plugins
@plugin_loader = nil
end
|
.kinds ⇒ Object
45
46
47
48
49
|
# File 'lib/diecut.rb', line 45
def kinds
plugins.reduce([]) do |list, plugin|
list + plugin.kinds
end.uniq
end
|
.load_plugins(prerelease = false) ⇒ Object
20
21
22
|
# File 'lib/diecut.rb', line 20
def load_plugins(prerelease = false)
plugin_loader.load_plugins(prerelease)
end
|
51
52
53
54
55
56
57
58
|
# File 'lib/diecut.rb', line 51
def mediator(kind)
Mediator.new.tap do |med|
plugins.each do |plug|
next unless plug.has_kind?(kind)
med.add_plugin(plug)
end
end
end
|
.plugin(name) {|description| ... } ⇒ Object
Used in a ‘diecut_plugin.rb` file (either in the `lib/` of a gem, or at the local `~/.config/diecut/diecut_plugin.rb` to register a new plugin.
41
42
43
|
# File 'lib/diecut.rb', line 41
def plugin(name, &block)
plugin_loader.describe_plugin(name, &block)
end
|
.plugin_loader ⇒ Object
8
9
10
|
# File 'lib/diecut.rb', line 8
def plugin_loader
@plugin_loader ||= PluginLoader.new
end
|
.plugin_loader=(loader) ⇒ Object
12
13
14
|
# File 'lib/diecut.rb', line 12
def plugin_loader=(loader)
@plugin_loader = loader
end
|
.plugins ⇒ Object
24
25
26
|
# File 'lib/diecut.rb', line 24
def plugins
plugin_loader.plugins
end
|