Skip to content

Instantly share code, notes, and snippets.

@kyledecot
Created November 21, 2013 17:51
Show Gist options
  • Save kyledecot/7586269 to your computer and use it in GitHub Desktop.
Save kyledecot/7586269 to your computer and use it in GitHub Desktop.
Resource::POSSIBLE_CLASSES.each do |klass|
define_method klass.name.tableize do
resource_ids = group_memberships.pluck(:resource_id)
klass.where(klass.arel_table[:id].in(resource_ids))
end
define_method "has_#{klass.name.underscore}?" do |object|
object.resource_id.in? send(klass.name.tableize.to_sym).pluck(:id)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment