module Legion::Extensions::Core
Public Instance Methods
auto_generate_data()
click to toggle source
# File lib/legion/extensions/core.rb, line 121 def auto_generate_data require 'legion/extensions/data' log.debug 'running meta magic to generate a data base class' Kernel.const_get(lex_class.to_s).const_set('Data', Module.new { extend Legion::Extensions::Data }) rescue StandardError => e log.error e.message log.error e.backtrace end
auto_generate_transport()
click to toggle source
# File lib/legion/extensions/core.rb, line 113 def auto_generate_transport require 'legion/extensions/transport' log.debug 'running meta magic to generate a transport base class' return if Kernel.const_defined? "#{lex_class}::Transport" Kernel.const_get(lex_class.to_s).const_set('Transport', Module.new { extend Legion::Extensions::Transport }) end
autobuild()
click to toggle source
# File lib/legion/extensions/core.rb, line 31 def autobuild @actors = {} @meta_actors = {} @runners = {} @helpers = [] @queues = {} @exchanges = {} @messages = {} build_settings build_transport build_data if Legion::Settings[:data][:connected] && data_required? build_helpers build_runners build_actors end
build_data()
click to toggle source
# File lib/legion/extensions/core.rb, line 68 def build_data auto_generate_data lex_class::Data.build end
build_settings()
click to toggle source
# File lib/legion/extensions/core.rb, line 87 def build_settings if Legion::Settings[:extensions].key?(lex_name.to_sym) Legion::Settings[:default_extension_settings].each do |key, value| Legion::Settings[:extensions][lex_name.to_sym][key.to_sym] = if Legion::Settings[:extensions][lex_name.to_sym].key?(key.to_sym) value.merge(Legion::Settings[:extensions][lex_name.to_sym][key.to_sym]) else value end end else Legion::Settings[:extensions][lex_name.to_sym] = Legion::Settings[:default_extension_settings] end default_settings.each do |key, value| Legion::Settings[:extensions][lex_name.to_sym][key.to_sym] = if Legion::Settings[:extensions][lex_name.to_sym].key?(key.to_sym) value.merge(Legion::Settings[:extensions][lex_name.to_sym][key.to_sym]) else value end end end
build_transport()
click to toggle source
# File lib/legion/extensions/core.rb, line 73 def build_transport if File.exist? "#{extension_path}/transport/autobuild.rb" require "#{extension_path}/transport/autobuild" extension_class::Transport::AutoBuild.build log.warn 'still using transport::autobuild, please upgrade' elsif File.exist? "#{extension_path}/transport.rb" require "#{extension_path}/transport" extension_class::Transport.build else auto_generate_transport extension_class::Transport.build end end
cache_required?()
click to toggle source
# File lib/legion/extensions/core.rb, line 56 def cache_required? false end
crypt_required?()
click to toggle source
# File lib/legion/extensions/core.rb, line 60 def crypt_required? false end
data_required?()
click to toggle source
# File lib/legion/extensions/core.rb, line 48 def data_required? false end
default_settings()
click to toggle source
# File lib/legion/extensions/core.rb, line 109 def default_settings {} end
transport_required?()
click to toggle source
# File lib/legion/extensions/core.rb, line 52 def transport_required? true end
vault_required?()
click to toggle source
# File lib/legion/extensions/core.rb, line 64 def vault_required? false end