Module: Polisher::Component
- Defined in:
- lib/polisher/util/component.rb
Defined Under Namespace
Classes: Missing
Class Method Summary collapse
- .require_dependency(polisher_klass, dependency) ⇒ Object
-
.verify(polisher_klass, *dependencies) ⇒ Object
class MissingComponent.
Class Method Details
.require_dependency(polisher_klass, dependency) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/polisher/util/component.rb', line 29 def self.require_dependency(polisher_klass, dependency) require dependency true rescue LoadError klasses = polisher_klass.split("::") desired_namespace = Polisher klasses.each do |k| desired_namespace.const_set(k, Missing) unless desired_namespace.const_defined?(k, false) desired_namespace = "#{desired_namespace.name}::#{k}".constantize end warn "Failed to require #{dependency}. Added runtime exception in Polisher::#{polisher_klass}" end |
.verify(polisher_klass, *dependencies) ⇒ Object
class MissingComponent
21 22 23 24 25 26 27 |
# File 'lib/polisher/util/component.rb', line 21 def self.verify(polisher_klass, *dependencies) all_required = dependencies.all? do |dep| require_dependency(polisher_klass, dep) end yield if all_required end |