Sha256: 8c980865942e49580990ff912a3711f447cde3296efbf7ab53702222e8a723a7
Contents?: true
Size: 617 Bytes
Versions: 15
Compression:
Stored size: 617 Bytes
Contents
# frozen_string_literal: true require "forwardable" class Gutentag::Persistence extend Forwardable attr_writer :tagger def initialize(change_state) @change_state = change_state end def persist remove_old add_new end private attr_reader :change_state def_delegators :change_state, :taggable, :added, :removed def add_new added.each do |name| taggable.tags << tagger.find_or_create(name) end end def remove_old removed.each do |name| taggable.tags.delete tagger.find_by_name(name) end end def tagger @tagger ||= Gutentag::Tag end end
Version data entries
15 entries across 15 versions & 1 rubygems