class Diecut::UIApplier

Attributes

context[RW]
plugins[RW]
ui[RW]

Public Instance Methods

apply() click to toggle source

setup default values on ui setup dynamic defaults on context copy ui settings to context resolve context config confirm required

# File lib/diecut/ui-applier.rb, line 10
def apply
  check_ui
  basic_defaults
  dynamic_defaults
  copy_to_context
  resolve_context
  confirm_required
end
apply_dynamic_default(default) click to toggle source
# File lib/diecut/ui-applier.rb, line 55
def apply_dynamic_default(default)
  return if default.simple?

  segment = context.walk_path(default.context_path).last

  segment.value = default.compute_value(context)
end
basic_defaults() click to toggle source
# File lib/diecut/ui-applier.rb, line 23
def basic_defaults
  context.setup_defaults
end
check_ui() click to toggle source
# File lib/diecut/ui-applier.rb, line 19
def check_ui
  ui.check_required
end
confirm_required() click to toggle source
# File lib/diecut/ui-applier.rb, line 51
def confirm_required
  context.check_required
end
copy_option(option) click to toggle source
# File lib/diecut/ui-applier.rb, line 63
def copy_option(option)
  return unless option.has_context_path?

  segment = context.walk_path(option.context_path).last

  segment.value = ui.get_value(option.name.to_sym)
end
copy_to_context() click to toggle source
# File lib/diecut/ui-applier.rb, line 35
def copy_to_context
  plugins.each do |plugin|
    plugin.options.each do |option|
      copy_option(option)
    end
  end
end
dynamic_defaults() click to toggle source
# File lib/diecut/ui-applier.rb, line 27
def dynamic_defaults
  plugins.each do |plugin|
    plugin.context_defaults.each do |default|
      apply_dynamic_default(default)
    end
  end
end
resolve_context() click to toggle source
# File lib/diecut/ui-applier.rb, line 43
def resolve_context
  plugins.each do |plugin|
    unless plugin.resolve_block.nil?
      plugin.apply_resolve(ui, context)
    end
  end
end