class Drillbit::Authorizers::Parameters::Inclusions

Attributes

authorized_inclusions[W]

Public Instance Methods

authorized_inclusions() click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 19
def authorized_inclusions
  @authorized_inclusions ||= []
end
call() click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 12
def call
  fail Errors::UnpermittedInclusions.new(inclusions: requested_inclusions) \
    if inclusion_differences.any?

  requested_inclusions
end

Private Instance Methods

add_includable_resource(resource_name) click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 25
def add_includable_resource(resource_name)
  authorized_inclusions << resource_name
end
add_includable_resources(*resource_names) click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 29
def add_includable_resources(*resource_names)
  resource_names.each do |resource_name|
    add_includable_resource(resource_name)
  end
end
inclusion_differences() click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 42
def inclusion_differences
  @inclusion_differences ||= requested_inclusions - authorized_inclusions
end
requested_inclusions() click to toggle source
# File lib/drillbit/authorizers/parameters/inclusions.rb, line 35
def requested_inclusions
  @requested_inclusions ||= params
                              .fetch(:include, '')
                              .split(',')
                              .map(&:to_sym)
end