Module: Legion::Data::Models
- Extended by:
- Logging::Helper
- Defined in:
- lib/legion/data/model.rb
Class Attribute Summary collapse
-
.loaded_models ⇒ Object
readonly
Returns the value of attribute loaded_models.
Class Method Summary collapse
- .load ⇒ Object
- .load_sequel_model(model) ⇒ Object
- .models ⇒ Object
- .require_sequel_models(files = models) ⇒ Object
Methods included from Logging::Helper
Class Attribute Details
.loaded_models ⇒ Object (readonly)
Returns the value of attribute loaded_models.
11 12 13 |
# File 'lib/legion/data/model.rb', line 11 def loaded_models @loaded_models end |
Class Method Details
.load ⇒ Object
19 20 21 22 23 24 |
# File 'lib/legion/data/model.rb', line 19 def load log.info 'Loading Legion::Data::Models' @loaded_models ||= [] require_sequel_models(models) Legion::Settings[:data][:models][:loaded] = true end |
.load_sequel_model(model) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/legion/data/model.rb', line 31 def load_sequel_model(model) log.debug("Trying to load #{model}.rb") require_relative "models/#{model}" @loaded_models << model log.debug("Successfully loaded #{model}") model rescue LoadError => e handle_exception(e, level: :fatal, operation: :load_sequel_model, model: model) raise e unless Legion::Settings[:data][:models][:continue_on_fail] end |
.models ⇒ Object
13 14 15 16 17 |
# File 'lib/legion/data/model.rb', line 13 def models %w[extension function relationship chain task runner node setting digital_worker apollo_entry apollo_relation apollo_expertise apollo_access_log audit_log audit_record] end |
.require_sequel_models(files = models) ⇒ Object
26 27 28 29 |
# File 'lib/legion/data/model.rb', line 26 def require_sequel_models(files = models) # Dir["#{File.dirname(__FILE__)}models/*.rb"].each { |file| puts file } files.each { |file| load_sequel_model(file) } end |