class Fabrication::Schematic::Evaluator

Public Instance Methods

after_build(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 20
def after_build(&block)
  @_definition.callbacks[:after_build] ||= []
  @_definition.callbacks[:after_build] << block
end
after_create(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 45
def after_create(&block)
  @_definition.callbacks[:after_create] ||= []
  @_definition.callbacks[:after_create] << block
end
after_save(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 50
def after_save(&block)
  @_definition.callbacks[:after_save] ||= []
  @_definition.callbacks[:after_save] << block
end
after_validation(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 30
def after_validation(&block)
  @_definition.callbacks[:after_validation] ||= []
  @_definition.callbacks[:after_validation] << block
end
before_create(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 40
def before_create(&block)
  @_definition.callbacks[:before_create] ||= []
  @_definition.callbacks[:before_create] << block
end
before_save(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 35
def before_save(&block)
  @_definition.callbacks[:before_save] ||= []
  @_definition.callbacks[:before_save] << block
end
before_validation(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 25
def before_validation(&block)
  @_definition.callbacks[:before_validation] ||= []
  @_definition.callbacks[:before_validation] << block
end
init_with(*args) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 63
def init_with(*args)
  args
end
initialize_with(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 59
def initialize_with(&block)
  @_definition.callbacks[:initialize_with] = block
end
method_missing(method_name, *args, &block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 13
def method_missing(method_name, *args, &block)
  params = ::Fabrication::Support.extract_options!(args)
  value = args.first
  block = @_definition.generate_value(method_name, params) if args.empty? && !block
  @_definition.append_or_update_attribute(method_name, value, params, &block)
end
on_init(&block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 55
def on_init(&block)
  @_definition.callbacks[:on_init] = block
end
process(definition, &block) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 4
def process(definition, &block)
  @_definition = definition
  instance_eval(&block)
end
respond_to_missing?(_method_name, _include_private = false) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 9
def respond_to_missing?(_method_name, _include_private = false)
  true
end
transient(*field_names) click to toggle source
# File lib/fabrication/schematic/evaluator.rb, line 67
def transient(*field_names)
  field_names.each do |field_name|
    if field_name.is_a?(::Hash)
      field_name.each_pair { |name, value| @_definition.append_or_update_attribute(name, value, transient: true) }
    else
      @_definition.append_or_update_attribute(field_name, nil, transient: true)
    end
  end
end