Module: Polytag::Concerns::TagOwner::ClassHelpers

Included in:
ClassMethods
Defined in:
lib/polytag/concerns/tag_owner/class_helpers.rb

Instance Method Summary collapse

Instance Method Details

#has_tag(tag, group = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# 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) ⇒ Object



5
6
7
8
9
10
# 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