class Groundskeeper::Middleware
Constants
- DEFAULT_KEY
- MODEL_KEY
- NAMESPACE_KEY
- QUERY_DEFAULT
- QUERY_KEY
- TENANT_KEY
Public Class Methods
new(app, options = {})
click to toggle source
# File lib/groundskeeper/middleware.rb, line 12 def initialize(app, options = {}) raise ArgumentError, "missing model" unless options.key?(model_key) @options = options @app = app @env = {} end
Public Instance Methods
call(env)
click to toggle source
# File lib/groundskeeper/middleware.rb, line 20 def call(env) @env = env env[namespace_key] = namespace env[tenant_key] = tenant @app.call(env) end
Private Instance Methods
default()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 39 def default @options[default_key] end
default_key()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 59 def default_key self.class.const_get("DEFAULT_KEY") end
model()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 31 def model if @options[model_key].is_a?(String) Object.const_get(@options[model_key]) else @options[model_key] end end
model_key()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 55 def model_key self.class.const_get("MODEL_KEY") end
namespace_key()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 47 def namespace_key self.class.const_get("NAMESPACE_KEY") end
query()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 43 def query @options[query_key] || query_default end
query_default()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 67 def query_default self.class.const_get("QUERY_DEFAULT") end
query_key()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 63 def query_key self.class.const_get("QUERY_KEY") end
tenant()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 27 def tenant query.call(model, namespace) || default end
tenant_key()
click to toggle source
# File lib/groundskeeper/middleware.rb, line 51 def tenant_key self.class.const_get("TENANT_KEY") end