Class: Certmeister::Policy::ChainAll

Inherits:
Object
  • Object
show all
Defined in:
lib/certmeister/policy/chain_all.rb

Instance Method Summary collapse

Constructor Details

#initialize(policies) ⇒ ChainAll

Returns a new instance of ChainAll.



9
10
11
12
# File 'lib/certmeister/policy/chain_all.rb', line 9

def initialize(policies)
  Certmeister::Policy.validate_policies(policies)
  @policies = policies
end

Instance Method Details

#authenticate(request) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/certmeister/policy/chain_all.rb', line 14

def authenticate(request)
  success = Certmeister::Policy::Response.new(true, nil)
  @policies.inject(success) do |continue, policy|
    response = policy.authenticate(request)
    break response unless response.authenticated?
    continue
  end
end