class Rohbau::RuntimeLoader
Attributes
registrar[RW]
Public Class Methods
instance()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 4 def instance @instance end
new(*args)
click to toggle source
Calls superclass method
# File lib/rohbau/runtime_loader.rb, line 23 def new(*args) super(*args) self end
new(runtime)
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 29 def initialize(runtime) return if singleton_assigned? build_singleton(runtime) end
registered(registrar)
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 19 def registered(registrar) self.registrar = registrar end
running?()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 8 def running? !!instance end
terminate()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 12 def terminate instance.terminate if instance.respond_to? :terminate remove_instance_variable :@instance if defined? @instance end
Private Instance Methods
assign_to_singleton(instance)
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 53 def assign_to_singleton(instance) self.class.instance_variable_set singleton_variable, instance end
build_singleton(runtime)
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 57 def build_singleton(runtime) initialize_with_immediate_callback runtime do |instance| assign_to_singleton(instance) end end
initialize_with_immediate_callback(cls, &callback)
click to toggle source
Calls superclass method
# File lib/rohbau/runtime_loader.rb, line 44 def initialize_with_immediate_callback(cls, &callback) cls.send :define_method, :initialize do |*args| callback.call(self) super(*args) end cls.new end
singleton()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 40 def singleton self.class.instance_variable_get singleton_variable end
singleton_assigned?()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 36 def singleton_assigned? self.class.instance_variable_defined? singleton_variable end
singleton_variable()
click to toggle source
# File lib/rohbau/runtime_loader.rb, line 63 def singleton_variable :@instance end