Class: JsonapiCompliable::Scope::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi_compliable/scope/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(controller, scope) ⇒ Base

Returns a new instance of Base.



6
7
8
9
10
11
# File 'lib/jsonapi_compliable/scope/base.rb', line 6

def initialize(controller, scope)
  @controller = controller
  @dsl        = controller._jsonapi_compliable
  @params     = controller.params
  @scope      = scope
end

Instance Attribute Details

#controllerObject (readonly)

Returns the value of attribute controller.



4
5
6
# File 'lib/jsonapi_compliable/scope/base.rb', line 4

def controller
  @controller
end

#dslObject (readonly)

Returns the value of attribute dsl.



4
5
6
# File 'lib/jsonapi_compliable/scope/base.rb', line 4

def dsl
  @dsl
end

#paramsObject (readonly)

Returns the value of attribute params.



4
5
6
# File 'lib/jsonapi_compliable/scope/base.rb', line 4

def params
  @params
end

#scopeObject (readonly)

Returns the value of attribute scope.



4
5
6
# File 'lib/jsonapi_compliable/scope/base.rb', line 4

def scope
  @scope
end

Instance Method Details

#applyObject



13
14
15
# File 'lib/jsonapi_compliable/scope/base.rb', line 13

def apply
  apply_standard_or_override
end

#apply_custom_scopeObject



35
36
37
# File 'lib/jsonapi_compliable/scope/base.rb', line 35

def apply_custom_scope
  raise 'override in subclass'
end

#apply_standard_or_overrideObject



17
18
19
20
21
22
23
24
25
# File 'lib/jsonapi_compliable/scope/base.rb', line 17

def apply_standard_or_override
  if apply_standard_scope?
    @scope = apply_standard_scope
  else
    @scope = apply_custom_scope
  end

  @scope
end

#apply_standard_scopeObject



31
32
33
# File 'lib/jsonapi_compliable/scope/base.rb', line 31

def apply_standard_scope
  raise 'override in subclass'
end

#apply_standard_scope?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/jsonapi_compliable/scope/base.rb', line 27

def apply_standard_scope?
  custom_scope.nil?
end