Module: LazyInit
- Defined in:
- lib/lazy_init.rb,
lib/lazy_init/errors.rb,
lib/lazy_init/version.rb,
lib/lazy_init/lazy_value.rb,
lib/lazy_init/class_methods.rb,
lib/lazy_init/configuration.rb,
lib/lazy_init/instance_methods.rb,
lib/lazy_init/dependency_resolver.rb
Overview
Thread-safe lazy initialization patterns for Ruby
Defined Under Namespace
Modules: ClassMethods, InstanceMethods Classes: Configuration, DependencyError, DependencyResolver, Error, InvalidAttributeNameError, LazyValue, TimeoutError
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
-
.configuration ⇒ Configuration
Returns the global configuration instance.
-
.configure {|Configuration| ... } ⇒ Configuration
Configures LazyInit global settings.
-
.extended(base) ⇒ Object
Called when LazyInit is extended by a class Adds only class methods.
-
.included(base) ⇒ Object
Called when LazyInit is included in a class Adds both class and instance methods.
Class Method Details
.configuration ⇒ Configuration
Returns the global configuration instance.
39 40 41 |
# File 'lib/lazy_init/configuration.rb', line 39 def self.configuration @configuration ||= Configuration.new end |
.configure {|Configuration| ... } ⇒ Configuration
Configures LazyInit global settings.
54 55 56 |
# File 'lib/lazy_init/configuration.rb', line 54 def self.configure yield(configuration) end |
.extended(base) ⇒ Object
Called when LazyInit is extended by a class Adds only class methods
44 45 46 |
# File 'lib/lazy_init.rb', line 44 def self.extended(base) base.extend(ClassMethods) end |
.included(base) ⇒ Object
Called when LazyInit is included in a class Adds both class and instance methods
35 36 37 38 |
# File 'lib/lazy_init.rb', line 35 def self.included(base) base.extend(ClassMethods) base.include(InstanceMethods) end |