class RgGen::Core::Builder::PluginSpec
Constants
- DEFAULT_VERSION
Public Class Methods
new(name, plugin_module)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 7 def initialize(name, plugin_module) @name = name @plugin_module = plugin_module @component_registrations = [] @loader_registrations = [] @files = [] end
Public Instance Methods
activate(builder)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 44 def activate(builder) activate_components(builder) activate_loaders(builder) load_files end
register_component(component, layers = nil, &body)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 24 def register_component(component, layers = nil, &body) @component_registrations << [component, layers, body] end
register_files(files)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 37 def register_files(files) root = File.dirname(caller_locations(1, 1).first.path) files.each { |file| @files << File.join(root, file) } end
Also aliased as: files
register_loader(component, loader_type, loader)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 28 def register_loader(component, loader_type, loader) @loader_registrations << [component, loader_type, loader] end
register_loaders(component, loader_type, loaders)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 32 def register_loaders(component, loader_type, loaders) Array(loaders) .each { |loader| register_loader(component, loader_type, loader) } end
version(value = nil)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 15 def version(value = nil) @version = value if value version_value end
version_info()
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 20 def version_info "#{@name} #{version}" end
Private Instance Methods
activate_components(builder)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 63 def activate_components(builder) @component_registrations.each do |component, layers, body| builder .output_component_registry(component) .register_component(layers, &body) end end
activate_loaders(builder)
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 71 def activate_loaders(builder) @loader_registrations.each do |component, loader_type, loader| builder.register_loader(component, loader_type, loader) end end
const_version()
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 58 def const_version @plugin_module.const_defined?(:VERSION) && @plugin_module.const_get(:VERSION) end
load_files()
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 77 def load_files @files.each(&method(:require)) end
version_value()
click to toggle source
# File lib/rggen/core/builder/plugin_spec.rb, line 54 def version_value @version || const_version || DEFAULT_VERSION end