class PowerStencil::Engine::ProjectEngine
Attributes
project[R]
Public Class Methods
new(project)
click to toggle source
Calls superclass method
PowerStencil::Engine::Base::new
# File lib/power_stencil/engine/project_engine.rb, line 15 def initialize(project) super() @project = project load_system_entities_definition load_plugins_entities_definition load_project_entities_definition load_entities end
Public Instance Methods
running_context(universe = root_universe, main_entry_point: nil)
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 24 def running_context(universe = root_universe, main_entry_point: nil) context = dsl.new universe apply_plugins_dsl_definition context context.main_entry_point = main_entry_point context.instance_eval do binding end end
Protected Instance Methods
load_entities()
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 43 def load_entities root_universe.clear load_system_entities load_project_entities load_user_entities end
load_project_entities_definition()
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 34 def load_project_entities_definition dir = project.project_entity_definitions_path if Dir.exist? dir and File.readable? dir logger.info 'Loading project specific entity definitions.' $LOAD_PATH << dir require_definition_files [dir], project end end
Private Instance Methods
apply_plugins_dsl_definition(context)
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 58 def apply_plugins_dsl_definition(context) project.plugins_sorted_by_dependency.each do |plugin| plugin.apply_extra_dsl context end end
load_plugins_entities_definition()
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 52 def load_plugins_entities_definition project.plugins_sorted_by_dependency.each do |plugin| plugin.require_plugin_entity_definitions end end
load_project_entities()
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 64 def load_project_entities root_universe.import project.project_entities_path, stop_on_error: false do |new_entity| logger.debug "Loaded entity: '#{new_entity.as_path}'" end end
load_user_entities()
click to toggle source
# File lib/power_stencil/engine/project_engine.rb, line 70 def load_user_entities root_universe.import project.user_entities_path, stop_on_error: false do |new_entity| logger.debug "Loaded unversioned entity: '#{new_entity.as_path}'" new_entity.instance_eval do @is_versioned_entity = false end end end