Sha256: c1b6fd26cdce4c61e86aeb1c5fee09b897b26866ff79339699a7f85bf76c1abd

Contents?: true

Size: 659 Bytes

Versions: 1

Compression:

Stored size: 659 Bytes

Contents

module TagRamaprasad::ActiveRecord
  def self.included(base)
    base.extend TagRamaprasad::ActiveRecord::ClassMethods
  end

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

  def tag_names
    @tag_names ||= TagRamaprasad::TagNames.new self
  end

  def tag_names=(names)
    if names.is_a?(TagRamaprasad::TagNames)
      @tag_names = names
    else
      @tag_names = TagRamaprasad::TagNames.new_with_names self, names
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tag_ramaprasad-1.0.2 lib/tag_ramaprasad/active_record.rb