Module: Rubydora::Ext::ModelLoader

Defined in:
lib/rubydora/ext/model_loader.rb

Overview

Rubydora extension to load dynamically load modules into an object based on defined models

Defined Under Namespace

Modules: ModelLoaderMixin

Class Method Summary collapse

Class Method Details

.load(args = {}) ⇒ Object

Parameters:

  • args (Hash) (defaults to: {})

Options Hash (args):

  • :base_namespace (Class)
  • :method (Class)
  • :class (Class)


9
10
11
12
13
14
15
16
17
18
# File 'lib/rubydora/ext/model_loader.rb', line 9

def self.load args = {}
  args[:class] ||=  Rubydora::DigitalObject
  args[:method] ||= :models

  args[:class].extension_parameters[:ModelLoaderMixin] ||= {}
  args[:class].extension_parameters[:ModelLoaderMixin][:namespaces] ||= []
  args[:class].extension_parameters[:ModelLoaderMixin][:namespaces] << args[:base_namespace]
  args[:class].extension_parameters[:ModelLoaderMixin][:method] ||= args[:method]
  args[:class].use_extension(ModelLoaderMixin)
end