class RequiredScopes::Errors::RequiredScopeCategoriesNotSatisfiedError

Raised if you try to execute an operation on a model or relation without having satisfied one or more scopes.

Attributes

current_relation[R]
missing_categories[R]
model_class[R]
required_categories[R]
satisfied_categories[R]
triggering_method[R]

Public Class Methods

new(model_class, current_relation, triggering_method, required_categories, satisfied_categories) click to toggle source
Calls superclass method
# File lib/required_scopes/errors.rb, line 11
def initialize(model_class, current_relation, triggering_method, required_categories, satisfied_categories)
  @model_class = model_class
  @current_relation = current_relation
  @triggering_method = triggering_method
  @required_categories = required_categories
  @satisfied_categories = satisfied_categories
  @missing_categories = @required_categories - @satisfied_categories

  super(build_message)
end

Private Instance Methods

build_message() click to toggle source
# File lib/required_scopes/errors.rb, line 23
      def build_message
        %{Model #{model_class.name} requires that you apply scope(s) satisfying the following
categories before you use it: #{missing_categories.sort_by(&:to_s).join(", ")}.

Satisfy these categories by including scopes in your query that are tagged with
:satisfies => <category name>, for each of the categories.}
      end