Class: RailsTwirp::Base
- Inherits:
-
AbstractController::Base
- Object
- AbstractController::Base
- RailsTwirp::Base
- Includes:
- AbstractController::AssetPaths, AbstractController::Caching, AbstractController::Callbacks, AbstractController::Logger, AbstractController::Rendering, ActionView::Rendering
- Defined in:
- lib/rails_twirp/base.rb
Class Method Summary collapse
Instance Method Summary collapse
- #dispatch(action, request, response_class, env = {}) ⇒ Object
- #http_request ⇒ Object
-
#initialize ⇒ Base
constructor
A new instance of Base.
- #render(*args) ⇒ Object
Constructor Details
#initialize ⇒ Base
Returns a new instance of Base.
13 14 15 16 17 18 |
# File 'lib/rails_twirp/base.rb', line 13 def initialize @_request = nil @_env = nil @_response_class = nil super end |
Class Method Details
.dispatch(action, request, response_class, env = {}) ⇒ Object
44 45 46 |
# File 'lib/rails_twirp/base.rb', line 44 def self.dispatch(action, request, response_class, env = {}) new.dispatch(action, request, response_class, env) end |
Instance Method Details
#dispatch(action, request, response_class, env = {}) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_twirp/base.rb', line 24 def dispatch(action, request, response_class, env = {}) self.request = request self.env = env self.response_class = response_class http_request.controller_instance = self process(action) # Implicit render self.response_body = render unless response_body response_body end |
#http_request ⇒ Object
20 21 22 |
# File 'lib/rails_twirp/base.rb', line 20 def http_request @_http_request ||= ActionDispatch::Request.new(env[:rack_env]) end |
#render(*args) ⇒ Object
38 39 40 41 42 |
# File 'lib/rails_twirp/base.rb', line 38 def render(*args) = {formats: :pb, handlers: :pbbuilder, locals: {response_class: response_class}} .deep_merge! args. super(*args, ) end |