module SemanticallyTaggable::Taggable::Core::InstanceMethods
Public Instance Methods
add_custom_scheme_name(value)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 176 def add_custom_scheme_name(value) custom_scheme_names << value.to_s unless custom_scheme_names.include?(value.to_s) or self.class.scheme_names.map(&:to_s).include?(value.to_s) end
cached_tag_list_on(scheme_name)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 180 def cached_tag_list_on(scheme_name) self["cached_#{scheme_name.to_s.singularize}_list"] end
custom_scheme_names()
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 168 def custom_scheme_names @custom_scheme_names ||= [] end
grouped_column_names_for(object)
click to toggle source
all column names are necessary for PostgreSQL group clause
# File lib/semantically_taggable/semantically_taggable/core.rb, line 164 def grouped_column_names_for(object) self.class.grouped_column_names_for(object) end
is_taggable?()
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 172 def is_taggable? self.class.is_taggable? end
reload(*args)
click to toggle source
Calls superclass method
# File lib/semantically_taggable/semantically_taggable/core.rb, line 242 def reload(*args) self.class.scheme_names.each do |scheme_name| instance_variable_set("@#{scheme_name.to_s.singularize}_list", nil) instance_variable_set("@all_#{scheme_name.to_s.singularize}_list", nil) end super(*args) end
set_tag_list_on(scheme_name, new_list)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 230 def set_tag_list_on(scheme_name, new_list) add_custom_scheme_name(scheme_name) scheme = SemanticallyTaggable::Scheme.by_name(scheme_name) variable_name = "@#{scheme_name.to_s.singularize}_list" instance_variable_set(variable_name, SemanticallyTaggable::TagList.from(new_list, scheme.delimiter)) end
tag_list_cache_on(scheme_name)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 189 def tag_list_cache_on(scheme_name) variable_name = "@#{scheme_name.to_s.singularize}_list" instance_variable_get(variable_name) || instance_variable_set(variable_name, SemanticallyTaggable::TagList.new(tags_on(scheme_name).map(&:name))) end
tag_list_cache_set_on(scheme_name)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 184 def tag_list_cache_set_on(scheme_name) variable_name = "@#{scheme_name.to_s.singularize}_list" !instance_variable_get(variable_name).nil? end
tag_list_on(scheme_name)
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 194 def tag_list_on(scheme_name) add_custom_scheme_name(scheme_name) tag_list_cache_on(scheme_name) end
tagging_scheme_names()
click to toggle source
# File lib/semantically_taggable/semantically_taggable/core.rb, line 238 def tagging_scheme_names custom_scheme_names + self.class.scheme_names.map(&:to_s) end