module ActsAsTaggableOn::Taggable::Ownership
Public Class Methods
included(base)
click to toggle source
# File lib/acts_as_taggable_on/taggable/ownership.rb, line 3 def self.included(base) base.extend ActsAsTaggableOn::Taggable::Ownership::ClassMethods base.class_eval do after_save :save_owned_tags end base.initialize_acts_as_taggable_on_ownership end
Public Instance Methods
cached_owned_tag_list_on(context)
click to toggle source
# File lib/acts_as_taggable_on/taggable/ownership.rb, line 48 def cached_owned_tag_list_on(context) variable_name = "@owned_#{context}_list" (instance_variable_defined?(variable_name) && instance_variable_get(variable_name)) || instance_variable_set(variable_name, {}) end
owner_tag_list_on(owner, context)
click to toggle source
# File lib/acts_as_taggable_on/taggable/ownership.rb, line 53 def owner_tag_list_on(owner, context) add_custom_context(context) cache = cached_owned_tag_list_on(context) cache[owner] ||= ActsAsTaggableOn::TagList.new(*owner_tags_on(owner, context).map(&:name)) end
reload(*args)
click to toggle source
Calls superclass method
# File lib/acts_as_taggable_on/taggable/ownership.rb, line 69 def reload(*args) self.class.tag_types.each do |context| instance_variable_set("@owned_#{context}_list", nil) end super(*args) end
set_owner_tag_list_on(owner, context, new_list)
click to toggle source
# File lib/acts_as_taggable_on/taggable/ownership.rb, line 61 def set_owner_tag_list_on(owner, context, new_list) add_custom_context(context) cache = cached_owned_tag_list_on(context) cache[owner] = ActsAsTaggableOn.default_parser.new(new_list).parse end