module Purdie::Service

Attributes

services[R]

Public Class Methods

included(base) click to toggle source
# File lib/purdie/service.rb, line 11
def self.included base
  # Voodoo: http://stackoverflow.com/questions/10692961/inheriting-class-methods-from-mixins
  base.extend ClassMethods
  @services.push base
end
new(config = nil) click to toggle source
# File lib/purdie/service.rb, line 17
def initialize config = nil
  config = Config.instance.config unless config
  @config = config

  configure
end

Public Instance Methods

configure() click to toggle source
# File lib/purdie/service.rb, line 24
def configure
  @output_file = "#{@config['output_dir']}/#{Purdie.basename(self).downcase}.yaml"
  specific_config = @config['services'][Purdie.basename self] rescue nil

  if specific_config
    specific_config.each_pair do |key, value|
      self.instance_variable_set("@#{key}", value)
    end
  end
end