class Aldous::ControllerAction

Attributes

controller[R]

Public Class Methods

build(controller) click to toggle source
# File lib/aldous/controller_action.rb, line 11
def build(controller)
  Aldous::Controller::Action::Wrapper.new(new(controller))
end
inherited(klass) click to toggle source
# File lib/aldous/controller_action.rb, line 19
def inherited(klass)
  # expose methods from controller to the service, according to configuration
  ::Aldous.configuration.controller_methods_exposed_to_action.each do |method_name|
    unless klass.method_defined?(method_name)
      define_method method_name do
        controller.send(method_name)
      end
    end
  end
end
new(controller, view_builder = nil) click to toggle source
# File lib/aldous/controller_action.rb, line 33
def initialize(controller, view_builder = nil)
  @controller = controller
  @view_builder = view_builder
end
perform(controller) click to toggle source
# File lib/aldous/controller_action.rb, line 15
def perform(controller)
  build(controller).perform
end

Public Instance Methods

build_view(respondable_class, extra_data = {}) click to toggle source

NOTE deprecated

# File lib/aldous/controller_action.rb, line 61
def build_view(respondable_class, extra_data = {}) # deprecated
  view_builder.build(respondable_class, extra_data)
end
default_error_handler(error) click to toggle source
# File lib/aldous/controller_action.rb, line 50
def default_error_handler(error)
  ::Aldous::View::Blank::HtmlView
end
default_view_data() click to toggle source
# File lib/aldous/controller_action.rb, line 42
def default_view_data
  {}
end
perform() click to toggle source
# File lib/aldous/controller_action.rb, line 38
def perform
  raise NotImplementedError.new("#{self.class.name} must implement method #perform")
end
preconditions() click to toggle source
# File lib/aldous/controller_action.rb, line 46
def preconditions
  []
end
view_builder() click to toggle source
# File lib/aldous/controller_action.rb, line 54
def view_builder
  @view_builder ||= Aldous::ViewBuilder.new(controller.view_context, default_view_data)
end