class PactBroker::Api::Authorization::ResourceAccessRules
Constants
- PATH_INFO
- REQUEST_METHOD
Attributes
rules[R]
Public Class Methods
new(rules)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 10 def initialize(rules) @rules = rules end
Public Instance Methods
access_allowed?(env, level)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 14 def access_allowed?(env, level) !!rules.find do | rule_level, allowed_methods, path_pattern | level_allowed?(level, rule_level) && method_allowed?(env, allowed_methods) && path_allowed?(env, path_pattern) end end
Private Instance Methods
level_allowed?(level, rule_level)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 26 def level_allowed?(level, rule_level) level >= rule_level end
method_allowed?(env, allowed_methods)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 34 def method_allowed?(env, allowed_methods) allowed_methods.include?(env[REQUEST_METHOD]) end
path_allowed?(env, pattern)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 30 def path_allowed?(env, pattern) env[PATH_INFO] =~ pattern end