Module: Blacklight::Document::Extensions::ClassMethods

Defined in:
app/models/concerns/blacklight/document/extensions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#registered_extensionsObject

want to zero out all previously registered extensions you can call: SolrDocument.registered_extensions = nil



37
38
39
# File 'app/models/concerns/blacklight/document/extensions.rb', line 37

def registered_extensions
  @registered_extensions ||= []
end

Instance Method Details

#extension_parametersObject



41
42
43
# File 'app/models/concerns/blacklight/document/extensions.rb', line 41

def extension_parameters
  @extension_parameters ||= {}
end

#use_extension(module_obj, &condition) ⇒ Object

Register an extension module with the class. A block taking one parameter can be supplied; the block will be passed an instance of a Document, and the extension will be applied only if the block evaluates as true. If no condition is given, the extension will be applied to every instance of the class.

SolrDocument.use_extension( SomeExtensionModule ) { | document | should_apply_some_extension?(document) } SolrDocument.use_extension( SomeExtensionModule) # will be applied to all docs



53
54
55
# File 'app/models/concerns/blacklight/document/extensions.rb', line 53

def use_extension( module_obj, &condition )
  registered_extensions << {module_obj: module_obj, condition_proc: condition}    
end