Module: Tengine::Core::DslEvaluator
- Included in:
- DslLoader
- Defined in:
- lib/tengine/core/dsl_evaluator.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Instance Method Summary collapse
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
7 8 9 |
# File 'lib/tengine/core/dsl_evaluator.rb', line 7 def config @config end |
Instance Method Details
#__evaluate__ ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/tengine/core/dsl_evaluator.rb', line 9 def __evaluate__ __setup_core_ext__ begin Tengine.plugins.notify(self, :__evaluate__) do ActiveSupport::Dependencies.mechanism = config.tengined.cache_drivers ? :require : :load config.dsl_dir_path.tap do |dsl_dir_path| $LOAD_PATH.unshift(dsl_dir_path) unless $LOAD_PATH.include?(dsl_dir_path) ActiveSupport::Dependencies.autoload_paths = [dsl_dir_path] end config.dsl_file_paths.each do |f| Tengine::Core.stdout_logger.debug("now loading #{f}") # self.instance_eval(File.read(f), f) # require(f) if config.tengined.cache_drivers load(f) else begin require_dependency( config.relative_path_from_dsl_dir(f) ) rescue NameError => e # ロードするパスのディレクトリ名をcamelizeした際に不正なモジュール名(例えば先頭が数字) # だと失敗してしまうのでその場合はloadし直す if e. =~ /wrong constant name/ load(f) else raise end end end end end ensure __teardown_core_ext__ end end |
#__safety_driver__(driver) ⇒ Object
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/tengine/core/dsl_evaluator.rb', line 54 def __safety_driver__(driver) @__driver__ = driver @__session__ = driver.session begin yield if block_given? ensure @__driver__ = nil @__session__ = nil end end |
#__safety_event__(event) ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/tengine/core/dsl_evaluator.rb', line 44 def __safety_event__(event) @__event__ = event begin yield if block_given? ensure @__event__ = nil @__event_wrapper__ = nil end end |