Class: Crabfarm::Strategies::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/crabfarm/strategies.rb

Instance Method Summary collapse

Constructor Details

#initialize(_name, _klass, _options = {}) ⇒ Loader

Returns a new instance of Loader.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/crabfarm/strategies.rb', line 5

def initialize(_name, _klass, _options={})
  @name = _name
  @klass = _klass

  @pkg = if _options.key? :require
    _options[:require]
  elsif @klass.is_a? String
    Utils::Naming.route_from_constant(@klass).join('/')
  else nil end

  @requirements = Array(_options[:dependencies]) if _options.key? :dependencies
end

Instance Method Details

#loadObject



18
19
20
21
22
# File 'lib/crabfarm/strategies.rb', line 18

def load
  load_requirements unless @requirements.nil?
  require @pkg if @pkg
  if @klass.is_a? String then Object.const_get @klass else @klass end
end