Class: Poniard::ControllerSource

Inherits:
Object
  • Object
show all
Defined in:
lib/poniard/controller_source.rb

Overview

Poniard source providing access to Rails controller features. It is always available to poniard controllers added using Poniard::Controller::ClassMethods#provided_by.

Defined Under Namespace

Classes: Response

Instance Method Summary collapse

Constructor Details

#initialize(controller) ⇒ ControllerSource

Returns a new instance of ControllerSource.



145
146
147
# File 'lib/poniard/controller_source.rb', line 145

def initialize(controller)
  @controller = controller
end

Instance Method Details

#app_configObject

Provides direct access to Rails.application.config.



177
178
179
# File 'lib/poniard/controller_source.rb', line 177

def app_config
  Rails.application.config
end

#envObject

Provides direct access to Rails.env.



172
173
174
# File 'lib/poniard/controller_source.rb', line 172

def env
  Rails.env
end

#flashObject

Provides direct access to flash.



159
# File 'lib/poniard/controller_source.rb', line 159

def flash;     @controller.flash; end

#now_flashObject

Provides access to flash.now. It is useful, particularly when testing, to treat this as a completely separate concept from flash.



163
# File 'lib/poniard/controller_source.rb', line 163

def now_flash; @controller.flash.now; end

#paramsObject

Provides direct access to params.



153
# File 'lib/poniard/controller_source.rb', line 153

def params;    @controller.params; end

#requestObject

Provides direct access to request.



150
# File 'lib/poniard/controller_source.rb', line 150

def request;   @controller.request; end

#response(injector) ⇒ Object

Provides access to render and friends abstracted behind a nice OO interface.



167
168
169
# File 'lib/poniard/controller_source.rb', line 167

def response(injector)
  Response.new(@controller, injector)
end

#sessionObject

Provides direct access to session.



156
# File 'lib/poniard/controller_source.rb', line 156

def session;   @controller.session; end