Class: NaturalResource::Policy::Scope

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

Overview

Base Scope class to infer/scope what a user should see

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user, scope) ⇒ Scope

Returns a new instance of Scope.



73
74
75
76
# File 'lib/natural_resource/policy.rb', line 73

def initialize(user, scope)
  @user = user
  @scope = scope
end

Instance Attribute Details

#scopeObject (readonly)

Returns the value of attribute scope.



71
72
73
# File 'lib/natural_resource/policy.rb', line 71

def scope
  @scope
end

#userObject (readonly)

Returns the value of attribute user.



71
72
73
# File 'lib/natural_resource/policy.rb', line 71

def user
  @user
end

Instance Method Details

#anon_user_scopeObject

Raises:

  • (NotImplementedError)


90
91
92
# File 'lib/natural_resource/policy.rb', line 90

def anon_user_scope
  raise NotImplementedError, [self.class.name, __method__].join('#')
end

#resolveObject



78
79
80
81
82
83
84
# File 'lib/natural_resource/policy.rb', line 78

def resolve
  if !user.is_a?(User)
    anon_user_scope
  else
    standard_user_scope
  end
end

#standard_user_scopeObject

Raises:

  • (NotImplementedError)


86
87
88
# File 'lib/natural_resource/policy.rb', line 86

def standard_user_scope
  raise NotImplementedError, [self.class.name, __method__].join('#')
end