Class: Parse::Constraint::ACLReadableByRoleConstraint

Inherits:
Parse::Constraint show all
Defined in:
lib/parse/query/constraints.rb

Overview

A constraint for filtering objects readable by specific role names. Automatically adds "role:" prefix to role names.

# Find objects readable by Admin role (string - adds role: prefix) Post.where(:ACL.readable_by_role => "Admin")

# Find objects readable by Role object Post.where(:ACL.readable_by_role => admin_role)

# Find objects readable by multiple roles Post.where(:ACL.readable_by_role => ["Admin", "Moderator"])

Direct Known Subclasses

ACLReadableByRoleExactConstraint

Instance Attribute Summary

Attributes inherited from Parse::Constraint

#operand, #operation, #operator, #value

Instance Method Summary collapse

Methods inherited from Parse::Constraint

#as_json, constraint_keyword, create, formatted_value, #formatted_value, #initialize, #key, #precedence, #regex_unicode_option, register, #to_s

Constructor Details

This class inherits a constructor from Parse::Constraint

Instance Method Details

#buildHash

Returns the compiled constraint using _rperm field.

Returns:

  • (Hash)

    the compiled constraint using _rperm field.



2897
2898
2899
2900
# File 'lib/parse/query/constraints.rb', line 2897

def build
  permissions = ACLPermissions.collect_role_only(@value)
  ACLPermissions.pipeline(permissions, field: "_rperm", strict: strict?)
end

#readable_by_roleACLReadableByRoleConstraint

Examples:

q.where :ACL.readable_by_role => "Admin"

Returns:



2888
# File 'lib/parse/query/constraints.rb', line 2888

register :readable_by_role

#strict?Boolean

Returns whether to compile an EXACT match. Overridden by Parse::Constraint::ACLReadableByRoleExactConstraint.

Returns:



2892
2893
2894
# File 'lib/parse/query/constraints.rb', line 2892

def strict?
  false
end