Sha256: 6e795fb2713b86d368772ddf537d6200790d26baa8471ff7081392bd01ad0492
Contents?: true
Size: 694 Bytes
Versions: 19
Compression:
Stored size: 694 Bytes
Contents
module Rundock class HookFactory HookNotImplementedError = Class.new(NotImplementedError) def self.instance(type) self.new(type) end def initialize(type) @type = type end def create(name, attributes) klass = "Rundock::Hook::#{@type.to_s.to_camel_case}" Logger.debug("initialize #{klass} hook") raise HookNotImplementedError unless Rundock::Hook::Base.subclasses.map(&:to_s).include?(klass) obj = nil klass.split('::').map do |k| if obj.nil? obj = Kernel.const_get(k) else obj = obj.const_get(k) end end hook = obj.new(name, attributes) hook end end end
Version data entries
19 entries across 19 versions & 1 rubygems