class ActiveEndpoint::Routes::ConstraintRule

Public Class Methods

new(request) click to toggle source
# File lib/active_endpoint/routes/constraint_rule.rb, line 7
def initialize(request)
  @request = request
  @rules = ActiveEndpoint.constraints
end

Public Instance Methods

rule() click to toggle source
# File lib/active_endpoint/routes/constraint_rule.rb, line 12
def rule
  {
    key: "#{prefix}:#{@request[:endpoint]}"
  }.merge(fetch_constraints)
end

Private Instance Methods

fetch_constraints() click to toggle source
# File lib/active_endpoint/routes/constraint_rule.rb, line 28
def fetch_constraints
  if prefix == :defaults
    default_constraints
  else
    constraints = @rules.public_send(prefix)[@request[:endpoint]]
    constraints.present? ? constraints : default_constraints
  end
end
prefix() click to toggle source
# File lib/active_endpoint/routes/constraint_rule.rb, line 20
def prefix
  return :endpoints if @rules.present_endpoint?(@request)
  return :resources if @rules.present_resource?(@request)
  return :actions if @rules.present_action?(@request)
  return :scopes if @rules.present_scope?(@request)
  :defaults
end