Sha256: 73fda24c97e626cb8b8f2b23144e17ed2dbf93eec6a1d1ef4d56c14c3eb65b8c
Contents?: true
Size: 839 Bytes
Versions: 8
Compression:
Stored size: 839 Bytes
Contents
module Mautic class Tag < Model class Collection < Array attr_reader :model # @param [Mautic::Model] model def initialize(model, *several_variants) @model = model @tags_to_remove = [] super(several_variants) end def <<(item) @model.changed = true item = Tag.new(@model, { tag: item }) if item.is_a?(String) super(item) end def remove(item) @model.changed = true item = detect { |t| t.name == item } if item.is_a?(String) @tags_to_remove << "-#{item}" delete item end def to_mautic map(&:name) + @tags_to_remove end end # alias for attribute :tag def name tag end def to_s name end def name=(name) self.tag = name end end end
Version data entries
8 entries across 8 versions & 1 rubygems