Module: Freightrain::ServiceHost

Included in:
FreightService, FreightViewModel
Defined in:
lib/freightrain/services/service_host.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(klass) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/freightrain/services/service_host.rb', line 6

def self.extended(klass)

  klass.class_eval do

    def get_services
      services = self.class.instance_variable_get(:@services)
      services ||= []
      services.each do |service|
        service_instance = Freightrain["#{service}_service".to_sym]
        instance_variable_set("@#{service}".to_sym, service_instance)
      end
    end

    def services
      return self.class.instance_variable_get(:@services) || []
    end

  end
end

Instance Method Details

#service(name) ⇒ Object



26
27
28
29
# File 'lib/freightrain/services/service_host.rb', line 26

def service(name)
  @services ||= []
  @services << name.to_sym
end