Module: PinFlags::FeatureTaggable

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/pin_flags/feature_taggable.rb

Instance Method Summary collapse

Instance Method Details

#feature_tag?(tag_name) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/concerns/pin_flags/feature_taggable.rb', line 27

def feature_tag?(tag_name)
  feature_tags.exists?(name: tag_name)
end

#feature_tag_disabled?(tag_name) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/concerns/pin_flags/feature_taggable.rb', line 35

def feature_tag_disabled?(tag_name)
  feature_tags.disabled.exists?(name: tag_name)
end

#feature_tag_enabled?(tag_name) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/concerns/pin_flags/feature_taggable.rb', line 31

def feature_tag_enabled?(tag_name)
  feature_tags.enabled.exists?(name: tag_name)
end

#feature_tag_pin(tag_name) ⇒ Object



16
17
18
19
20
# File 'app/models/concerns/pin_flags/feature_taggable.rb', line 16

def feature_tag_pin(tag_name)
  feature_tags << PinFlags::FeatureTag.find_or_create_by(name: tag_name)
rescue ActiveRecord::RecordNotUnique
  feature_tags
end

#feature_tag_unpin(tag_name) ⇒ Object



22
23
24
25
# File 'app/models/concerns/pin_flags/feature_taggable.rb', line 22

def feature_tag_unpin(tag_name)
  existing_tag = feature_tags.find_by(name: tag_name)
  feature_tags.delete(existing_tag) if existing_tag
end