class Rack::Mongoid::Controllers::Base
Attributes
env[R]
Public Class Methods
call(env)
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 6 def call(env) new(env).call end
new(env)
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 13 def initialize(env) @env = env end
Public Instance Methods
call()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 17 def call response.to_a end
Private Instance Methods
connection()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 51 def connection ::Mongoid.default_session[resource_name] end
params()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 55 def params case when request.request_method == "GET" request.GET when !request_body.empty? JSON.parse(request_body) else {} end end
request()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 39 def request @request ||= Rack::Request.new(env) end
request_body()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 66 def request_body @request_body ||= request.body.read.tap { request.body.rewind } end
resource_name()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 47 def resource_name request.params["resource_name"] end
response()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 43 def response @response ||= Rack::Response.new([response_body], response_status, response_header) end
response_body()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 31 def response_body raise NotImplementedError end
response_body_for_not_found()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 35 def response_body_for_not_found JSON.pretty_generate(message: "Not found") + "\n" end
response_header()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 27 def response_header { "Content-Type" => "application/json" } end
response_status()
click to toggle source
# File lib/rack/mongoid/controllers/base.rb, line 23 def response_status 200 end