Module: LB::Project::Registry::Registration
- Defined in:
- lib/lb/project/registry/registration.rb
Overview
Mixin for registration
Defined Under Namespace
Classes: Config
Class Method Summary collapse
- .[](registry_name, registry = LB::Project::Registry.new) ⇒ Object
- .define_helpers(registry_name, rcmethod) ⇒ Object
- .define_key(registry_name) ⇒ Object
- .define_registry(rcmethod, rmethod) ⇒ Object
- .define_registry_as(registry_name, rmethod) ⇒ Object
- .define_registry_config(rcmethod) ⇒ Object
- .define_registry_name(registry_name, rcmethod) ⇒ Object
- .setup(registry_name, registry, rcmethod) ⇒ Object
Class Method Details
.[](registry_name, registry = LB::Project::Registry.new) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/lb/project/registry/registration.rb', line 8 def self.[](registry_name, registry = LB::Project::Registry.new) rcmethod = "#{registry_name}_registry_config" setup(registry_name, registry, rcmethod) define_helpers(registry_name, rcmethod) unless respond_to?(rcmethod) self end |
.define_helpers(registry_name, rcmethod) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/lb/project/registry/registration.rb', line 16 def self.define_helpers(registry_name, rcmethod) rmethod = "#{registry_name}_registry" define_registry_config(rcmethod) define_registry(rcmethod, rmethod) define_registry_name(registry_name, rcmethod) define_registry_as(registry_name, rmethod) define_key(registry_name) end |
.define_key(registry_name) ⇒ Object
52 53 54 55 56 |
# File 'lib/lb/project/registry/registration.rb', line 52 def self.define_key(registry_name) define_method("#{registry_name}_key") do instance_variable_get("@#{registry_name}_key") end end |
.define_registry(rcmethod, rmethod) ⇒ Object
32 33 34 35 36 |
# File 'lib/lb/project/registry/registration.rb', line 32 def self.define_registry(rcmethod, rmethod) define_method(rmethod) do send(rcmethod).registry end end |
.define_registry_as(registry_name, rmethod) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/lb/project/registry/registration.rb', line 45 def self.define_registry_as(registry_name, rmethod) define_method("register_#{registry_name}_as") do |key| send(rmethod).register(key.to_sym, self) instance_variable_set("@#{registry_name}_key", key.to_s) end end |
.define_registry_config(rcmethod) ⇒ Object
26 27 28 29 30 |
# File 'lib/lb/project/registry/registration.rb', line 26 def self.define_registry_config(rcmethod) define_method(rcmethod) do Registration.instance_variable_get("@#{rcmethod}") end end |
.define_registry_name(registry_name, rcmethod) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/lb/project/registry/registration.rb', line 38 def self.define_registry_name(registry_name, rcmethod) rnmethod = "#{registry_name}_registry_name" define_method(rnmethod) do send(rcmethod).name end end |
.setup(registry_name, registry, rcmethod) ⇒ Object
58 59 60 61 |
# File 'lib/lb/project/registry/registration.rb', line 58 def self.setup(registry_name, registry, rcmethod) config = Config.new(registry_name, registry) Registration.instance_variable_set("@#{rcmethod}", config) end |