module ActsAsTaggableOnMongoid::Taggable::TagTypeDefinition::Attributes

This module defines methods used to evaluate the attributes of the Tag Type Definition

Attributes

cached_in_model[R]
cached_in_model?[R]
default[R]
owner_id_field[R]

Public Instance Methods

cached_in_model_as_list?() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 60
def cached_in_model_as_list?
  @cached_in_model_as_list ||= cache_hash.fetch(:as_list) { true }
end
cached_in_model_field() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 56
def cached_in_model_field
  @cached_in_model_field ||= cache_hash.fetch(:field) { "cached_#{tag_list_name}" }
end
default_tagger(taggable) click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 100
def default_tagger(taggable)
  return nil if default_tagger_method.nil?
  return nil if taggable.blank?

  taggable.public_send(default_tagger_method)
end
default_tagger_method() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 80
def default_tagger_method
  return nil unless tagger?

  tagger_params[:default_tagger]
end
force_lowercase() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 24
def force_lowercase
  if defined?(@force_lowercase)
    @force_lowercase
  else
    ActsAsTaggableOnMongoid.configuration.force_lowercase?
  end
end
Also aliased as: force_lowercase?
force_lowercase?()
Alias for: force_lowercase
force_parameterize() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 32
def force_parameterize
  if defined?(@force_parameterize)
    @force_parameterize
  else
    ActsAsTaggableOnMongoid.configuration.force_parameterize?
  end
end
Also aliased as: force_parameterize?
force_parameterize?()
Alias for: force_parameterize
parser() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 12
def parser
  @parser || ActsAsTaggableOnMongoid.default_parser
end
preserve_tag_order() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 40
def preserve_tag_order
  if defined?(@preserve_tag_order)
    @preserve_tag_order
  else
    ActsAsTaggableOnMongoid.configuration.preserve_tag_order?
  end
end
Also aliased as: preserve_tag_order?
preserve_tag_order?()
Alias for: preserve_tag_order
remove_unused_tags() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 48
def remove_unused_tags
  if defined?(@remove_unused_tags)
    @remove_unused_tags
  else
    ActsAsTaggableOnMongoid.configuration.remove_unused_tags?
  end
end
Also aliased as: remove_unused_tags?
remove_unused_tags?()
Alias for: remove_unused_tags
tag_list_default_tagger(taggable) click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 107
def tag_list_default_tagger(taggable)
  return nil unless tag_list_uses_default_tagger?

  default_tagger(taggable)
end
tag_list_uses_default_tagger?() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 74
def tag_list_uses_default_tagger?
  return false if !tagger? || default_tagger_method.blank?

  tagger_params.fetch(:tag_list_uses_default_tagger) { false }
end
taggable_default(taggable) click to toggle source

:reek: FeatureEnvy :reek: DuplicateMethodCall

# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 88
def taggable_default(taggable)
  default_list = default

  return unless default_list.present?

  default_list          = default_list.dup
  default_list.taggable = taggable
  default_list.tagger   = default_list.tagger

  default_list
end
tagger?() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 70
def tagger?
  instance_variable_defined?(:@tagger)
end
taggings_table() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 20
def taggings_table
  @taggings_table || ActsAsTaggableOnMongoid.taggings_table
end
tags_table() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 16
def tags_table
  @tags_table || ActsAsTaggableOnMongoid.tags_table
end

Private Instance Methods

cache_hash() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 115
def cache_hash
  @cache_hash ||= cached_in_model.is_a?(Hash) ? cached_in_model : {}
end
default_value=(value) click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 131
def default_value=(value)
  dup_value       = Array.wrap(value).dup
  options         = dup_value.extract_options!.dup
  options[:parse] = options.fetch(:parse) { true }

  @default = ActsAsTaggableOnMongoid::TagList.new self, *dup_value, options
end
tagger_params() click to toggle source
# File lib/acts_as_taggable_on_mongoid/taggable/tag_type_definition/attributes.rb, line 119
def tagger_params
  return @tagger_params if defined?(@tagger_params)

  params = instance_variable_get(:@tagger)

  @tagger_params = if tagger? && params.is_a?(Hash)
                     params.with_indifferent_access
                   else
                     HashWithIndifferentAccess.new
                   end
end