Sha256: b399977d50cfbfb9d07f7c9f91d1a09a41af5f18a97bb7c8e9c16703ad1986da

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Vedeu

  # Provides methods which should be available to all client
  # application controllers. The client application's
  # ApplicationController will inherit from this class.
  #
  class ApplicationController

    include Vedeu::Controller

    # Returns a new instance of Vedeu::ApplicationController.
    #
    # @param params [Hash] The named parameters provided to the
    #   controller which will be used by the actions within the
    #   controller.
    # @return [Vedeu::ApplicationController]
    def initialize(**params)
      @params = params
    end

    # @param controller [Symbol] The name of controller to be
    #   redirected to.
    # @param action [Symbol] The name of the action within the
    #   controller to be called.
    # @param params [Hash] Any named parameter which need to be passed
    #   to the action.
    def redirect_to(controller, action, **params)
      Vedeu.trigger(:_goto_, controller, action, params)
    end
    alias redirect redirect_to
    alias goto redirect_to

    protected

    # @!attribute [rw] params
    # @return [Hash] The named parameters passed to the controller.
    attr_accessor :params

  end # ApplicationController

end # Vedeu

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.8.10 lib/vedeu/application/application_controller.rb
vedeu-0.8.9 lib/vedeu/application/application_controller.rb
vedeu-0.8.8 lib/vedeu/application/application_controller.rb
vedeu-0.8.7 lib/vedeu/application/application_controller.rb