module Polytag::Concerns::TagOwner::ClassHelpers

Public Instance Methods

has_tag(tag, group = nil) click to toggle source
# File lib/polytag/concerns/tag_owner/class_helpers.rb, line 12
def has_tag(tag, group = nil)
  if group
    tag_group_query = ::Polytag.get(:tag_group, nil, group).select(:id)
    query = ::Polytag.get(:tag, nil, tag).where(polytag_tag_group_id: tag_group_query)
  else
    query = ::Polytag.get(:tag, nil, tag)
  end

  includes(:tag_groups).where(polytag_tag_groups: {id: query.select(:id)})
end
has_tag_group(group) click to toggle source
# File lib/polytag/concerns/tag_owner/class_helpers.rb, line 5
def has_tag_group(group)
  query = ::Polytag.get foc: nil,
    tag_group: group

  includes(:tag_groups).where(polytag_tag_groups: {id: query.select(:id)})
end