Module: Blacklight::Document::Extensions::ClassMethods
- Defined in:
- app/models/concerns/blacklight/document/extensions.rb
Instance Attribute Summary collapse
-
#registered_extensions ⇒ Object
want to zero out all previously registered extensions you can call: SolrDocument.registered_extensions = nil.
Instance Method Summary collapse
- #extension_parameters ⇒ Object
-
#use_extension(module_obj, &condition) ⇒ Object
Register an extension module with the class.
Instance Attribute Details
#registered_extensions ⇒ Object
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_parameters ⇒ Object
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 |