module PragmaticContext::Contextualizable::ClassMethods

Attributes

context_id_factory[RW]
contextualized_type[RW]
contextualizer[RW]

Public Instance Methods

contextualize(field, params) click to toggle source
# File lib/pragmatic_context/contextualizable.rb, line 18
def contextualize(field, params)
  setup_default_contextualizer
  params.each { |k, v| params[k] = v.to_s }
  self.contextualizer.add_term(field, params)
end
contextualize_as_type(type) click to toggle source
# File lib/pragmatic_context/contextualizable.rb, line 24
def contextualize_as_type(type)
  self.contextualized_type = type.nil? ? type : type.to_s
end
contextualize_with(klass) click to toggle source
# File lib/pragmatic_context/contextualizable.rb, line 14
def contextualize_with(klass)
  self.contextualizer = klass.new
end
contextualize_with_id(&block) click to toggle source
# File lib/pragmatic_context/contextualizable.rb, line 28
def contextualize_with_id(&block)
  raise "contextualize_with_id must be called with a block" unless block_given?
  self.context_id_factory = block
end

Private Instance Methods

setup_default_contextualizer() click to toggle source
# File lib/pragmatic_context/contextualizable.rb, line 35
def setup_default_contextualizer
  already_setup = !self.contextualizer.nil? && !self.contextualizer.is_a?(PragmaticContext::DefaultContextualizer)
  raise "Cannot call contextualize if contextualize_with has already been called" if already_setup
  self.contextualizer ||= PragmaticContext::DefaultContextualizer.new
end