class Pakyow::Reflection::Framework
Public Instance Methods
boot()
click to toggle source
# File lib/pakyow/reflection/framework.rb, line 14 def boot object.include Application::Config::Reflection object.include Application::Behavior::Reflection::Reflecting object.isolated :Renderer do include Presenter::Renderer::Behavior::Reflection::InstallFormMetadata end object.isolated :Controller do def reflect(&block) operations.reflect(controller: self, &block) end end object.after "load" do operation :reflect do action :verify do if (reflected_action = controller.connection.get(:__reflected_action)) && reflected_action.name == controller.connection.get(:__endpoint_name) case reflected_action.name when :create, :update controller.verify_reflected_form end end end action :perform do if (reflected_action = controller.connection.get(:__reflected_action)) && reflected_action.name == controller.connection.get(:__endpoint_name) case reflected_action.name when :create, :update, :delete controller.perform_reflected_action @object = controller.instance_variable_get(:@object) end end end action :expose do if controller.connection.set?(:__reflected_endpoint) controller.reflective_expose end end action :redirect do if (reflected_action = controller.connection.get(:__reflected_action)) && reflected_action.name == controller.connection.get(:__endpoint_name) unless controller.connection.halted? controller.redirect_to_reflected_destination end end end end end end
reflect(&block)
click to toggle source
# File lib/pakyow/reflection/framework.rb, line 23 def reflect(&block) operations.reflect(controller: self, &block) end