class PactBroker::Api::Authorization::ResourceAccessRules
Constants
- PATH_INFO
- REQUEST_METHOD
Attributes
Public Class Methods
Source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 10 def initialize(rules) @rules = rules end
Public Instance Methods
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
Source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 26 def level_allowed?(level, rule_level) level >= rule_level end
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
Source
# File lib/pact_broker/api/authorization/resource_access_rules.rb, line 30 def path_allowed?(env, pattern) env[PATH_INFO] =~ pattern end