class PactBroker::Api::Authorization::ResourceAccessPolicy
Constants
- ALL_METHODS
- ALL_PATHS
- HEARTBEAT_PATH
- PACTS_FOR_VERIFICATION_PATH
- POST
- PUBLIC
- READ
- READ_METHODS
- WRITE
Attributes
resource_access_rules[R]
Public Class Methods
build(allow_public_read_access, allow_public_access_to_heartbeat, enable_public_badge_access)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_policy.rb, line 33 def self.build(allow_public_read_access, allow_public_access_to_heartbeat, enable_public_badge_access) rules = [ [WRITE, ALL_METHODS, ALL_PATHS], [READ, READ_METHODS, ALL_PATHS], [READ, [POST], PACTS_FOR_VERIFICATION_PATH], ] if enable_public_badge_access rules.concat(BADGE_PATHS.collect { | badge_path | [PUBLIC, READ_METHODS, badge_path] }) end if allow_public_access_to_heartbeat rules.unshift([PUBLIC, READ_METHODS, HEARTBEAT_PATH]) end if allow_public_read_access rules.unshift([PUBLIC, READ_METHODS, ALL_PATHS]) rules.unshift([PUBLIC, [POST], PACTS_FOR_VERIFICATION_PATH]) end ResourceAccessPolicy.new(ResourceAccessRules.new(rules)) end
new(resource_access_rules)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_policy.rb, line 21 def initialize(resource_access_rules) @resource_access_rules = resource_access_rules end
Public Instance Methods
public_access_allowed?(env)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_policy.rb, line 25 def public_access_allowed?(env) resource_access_rules.access_allowed?(env, PUBLIC) end
read_access_allowed?(env)
click to toggle source
# File lib/pact_broker/api/authorization/resource_access_policy.rb, line 29 def read_access_allowed?(env) resource_access_rules.access_allowed?(env, READ) end