Module: Legion::Data::Models
- 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
Class Attribute Details
.loaded_models ⇒ Object (readonly)
Returns the value of attribute loaded_models.
5 6 7 |
# File 'lib/legion/data/model.rb', line 5 def loaded_models @loaded_models end |
Class Method Details
.load ⇒ Object
11 12 13 14 15 16 |
# File 'lib/legion/data/model.rb', line 11 def load Legion::Logging.info 'Loading Legion::Data::Models' @loaded_models ||= [] require_sequel_models(models) Legion::Settings[:data][:models][:loaded] = true end |
.load_sequel_model(model) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/legion/data/model.rb', line 23 def load_sequel_model(model) Legion::Logging.debug("Trying to load #{model}.rb") require_relative "models/#{model}" @loaded_models << model Legion::Logging.debug("Successfully loaded #{model}") model rescue LoadError => e Legion::Logging.fatal("Failed to load #{model}") raise e unless Legion::Settings[:data][:models][:continue_on_fail] end |
.models ⇒ Object
7 8 9 |
# File 'lib/legion/data/model.rb', line 7 def models %w[user group extension chain relationship function task runner task_log datacenter environment node setting] end |
.require_sequel_models(files = models) ⇒ Object
18 19 20 21 |
# File 'lib/legion/data/model.rb', line 18 def require_sequel_models(files = models) Dir["#{File.dirname(__FILE__)}models/*.rb"].each { |file| puts file } files.each { |file| load_sequel_model(file) } end |