Class: MongoidAbility::AccessibleQueryBuilder

Inherits:
Struct
  • Object
show all
Defined in:
lib/mongoid_ability/accessible_query_builder.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_class, ability, action, options = {}) ⇒ AccessibleQueryBuilder



7
8
9
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 7

def initialize(base_class, ability, action, options = {})
  super(base_class, ability, action, options)
end

Instance Attribute Details

#ability ⇒ Object

Returns the value of attribute ability



2
3
4
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 2

def ability
  @ability
end

#action ⇒ Object

Returns the value of attribute action



2
3
4
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 2

def action
  @action
end

#base_class ⇒ Object

Returns the value of attribute base_class



2
3
4
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 2

def base_class
  @base_class
end

#options ⇒ Object

Returns the value of attribute options



2
3
4
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 2

def options
  @options
end

Class Method Details

.call(*args) ⇒ Object



3
4
5
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 3

def self.call(*args)
  new(*args).call
end

Instance Method Details

#call ⇒ Object

=====================================================================



13
14
15
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 13

def call
  base_class.criteria.where(conditions)
end

#conditions ⇒ Object



17
18
19
# File 'lib/mongoid_ability/accessible_query_builder.rb', line 17

def conditions
  { '$and' => [{ '$or' => [closed_types_condition, open_types_and_ids_condition] }, closed_ids_condition] }
end