class Checkpoint::DB::Query::CR
A query object based on credentials and resources.
This query finds grants for any supplied credentials, for any supplied resources. Its primary purpose is to find which agents have been granted a given credential on a resource.
It can take single items or arrays and converts them all to their tokens for query purposes.
Attributes
credentials[R]
resources[R]
Public Class Methods
new(credentials, resources, scope: Grant)
click to toggle source
Calls superclass method
Checkpoint::DB::CartesianSelect::new
# File lib/checkpoint/db/query/cr.rb, line 16 def initialize(credentials, resources, scope: Grant) super(scope: scope) @credentials = tokenize(credentials) @resources = tokenize(resources) end
Public Instance Methods
conditions()
click to toggle source
Calls superclass method
Checkpoint::DB::CartesianSelect#conditions
# File lib/checkpoint/db/query/cr.rb, line 22 def conditions super.merge( credential_token: credential_params.placeholders, resource_token: resource_params.placeholders ) end
parameters()
click to toggle source
Calls superclass method
Checkpoint::DB::CartesianSelect#parameters
# File lib/checkpoint/db/query/cr.rb, line 29 def parameters super.merge(Hash[ credential_params.values + resource_params.values ]) end
Protected Instance Methods
credential_params()
click to toggle source
# File lib/checkpoint/db/query/cr.rb, line 38 def credential_params Params.new(credentials, 'ct') end
resource_params()
click to toggle source
# File lib/checkpoint/db/query/cr.rb, line 42 def resource_params Params.new(resources, 'rt') end