class PUNK::Action
Public Class Methods
perform(**kwargs)
click to toggle source
# File lib/punk/framework/action.rb, line 5 def self.perform(**kwargs) action = profile_info("perform", kwargs) { run(**kwargs) } action.result end
Public Instance Methods
present(view_class, **kwargs)
click to toggle source
# File lib/punk/framework/action.rb, line 14 def present(view_class, **kwargs) raise InternalServerError, "not a view: #{view_class}" unless view_class < View view_class.run(**kwargs) end
process()
click to toggle source
# File lib/punk/framework/action.rb, line 10 def process raise NotImplemented, "action must provide process method" end
Protected Instance Methods
on_failure()
click to toggle source
# File lib/punk/framework/action.rb, line 25 def on_failure @_result = Fail.run(message: "action failed: #{self.class}", error_messages: errors.full_messages, status: invalid? ? 400 : 500) end
on_success()
click to toggle source
# File lib/punk/framework/action.rb, line 21 def on_success raise InternalServerError, "not a view: #{result}" unless result.is_a?(View) end