Sha256: f47c7a3ab43c1f6b3994d2bc0350765ec020e01652b7555fec61c07738d7a4da

Contents?: true

Size: 603 Bytes

Versions: 2

Compression:

Stored size: 603 Bytes

Contents

require 'active_support/concern'

module Gutentag::ActiveRecord
  extend ActiveSupport::Concern

  module ClassMethods
    def has_many_tags
      has_many :taggings, :class_name => 'Gutentag::Tagging', :as => :taggable,
        :dependent => :destroy
      has_many :tags,     :class_name => 'Gutentag::Tag',
        :through => :taggings

      after_save { |instance| Gutentag::Persistence.new(instance).persist  }
    end
  end

  def reset_tag_names
    @tag_names = nil
  end

  def tag_names
    @tag_names ||= tags.collect(&:name)
  end

  def tag_names=(names)
    @tag_names = names
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gutentag-0.5.0 lib/gutentag/active_record.rb
gutentag-0.4.0 lib/gutentag/active_record.rb