class Handlers::Delegate
Public Class Methods
new(klass, delegate)
click to toggle source
Calls superclass method
Handlers::Base::new
# File lib/handlers/delegates.rb, line 15 def initialize(klass, delegate) @delegate = delegate @form = @delegate[:form] @foreign_key = @delegate[:foreign_key] @relation = @delegate[:relation] @attributes = @delegate[:attributes] super(klass) end
Public Instance Methods
handle()
click to toggle source
# File lib/handlers/delegates.rb, line 26 def handle @attributes = @raw_params.slice(*@attributes.map(&:to_s)).merge({ @foreign_key => @resource.id }) proceed_debug @form.new(@attributes, @resource.send(@relation)).save! @resource.reload end
proceed_debug()
click to toggle source
# File lib/handlers/delegates.rb, line 37 def proceed_debug return unless upper(:@@debug) puts '👉 Processing delegate' puts "#{@form}.new(#{@attributes}, #{@resource.send(@relation) || "nil"}).save!" puts "" end