Class: Priloo::Preloaders::NavigatingPreloader

Inherits:
BasePreloader show all
Defined in:
lib/priloo/preloaders/navigating_preloader.rb

Instance Attribute Summary collapse

Attributes inherited from BasePreloader

#merge_key

Instance Method Summary collapse

Methods inherited from BasePreloader

#dependencies, #inject, #injected?, #multiplicity

Constructor Details

#initialize(name) ⇒ NavigatingPreloader

Returns a new instance of NavigatingPreloader.



8
9
10
11
12
# File 'lib/priloo/preloaders/navigating_preloader.rb', line 8

def initialize(name)
    super([self.class, name])

    @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/priloo/preloaders/navigating_preloader.rb', line 6

def name
  @name
end

Instance Method Details

#extract(target) ⇒ Object



18
19
20
21
# File 'lib/priloo/preloaders/navigating_preloader.rb', line 18

def extract(target)
    return target[name] if target.is_a?(Hash)
    return target.send(name) if target.respond_to?(name)
end

#preload(instances) ⇒ Object



14
15
16
# File 'lib/priloo/preloaders/navigating_preloader.rb', line 14

def preload(instances)
    instances.map { |inst| extract(inst) }
end