Question

Essentially I am looking for a no-op type of relation to apply to a chain of scopes.

Lets say I have a chain of scopes:

Post.approved.published.all

Now, for debugging purposes, I wish to make the published scope do nothing at all, so that the chain will only return approved posts, regardless of whether they are published or not.

What would I return in the following method:

def self.published
  # what to return?
end
Was it helpful?

Solution

Make published an alias for all, or use scoped to return a relation to which additional conditions can be chainged:

def self.published
  all
  #or
  scoped
end

I would use a scope, returning all...

scope :published, all

or, make it an alias for scoped:

scope :published, scoped
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top