Sha256: 78dde66b49620469518763a9422b596614e0d22667ba123004bb16b0f0c30e3a
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
module DeepThought module CIService class CIServiceNotFoundError < StandardError; end class CIBuildNotGreenError < StandardError; end class CIProjectAccessError < StandardError; end class << self attr_accessor :adapters, :ci_service end def self.adapters @adapters ||= {} end def self.register_adapter(name, service) self.adapters[name] = service end def self.setup(settings) if settings['CI_SERVICE'] if @adapters.keys.include?(settings['CI_SERVICE']) klass = adapters[settings['CI_SERVICE']] @ci_service = klass.new @ci_service.setup(settings) else raise CIServiceNotFoundError, "I don't have a CI service called \"#{settings['CI_SERVICE']}\"." end end end def self.is_branch_green?(app, branch, hash) begin @ci_service.is_branch_green?(app, branch, hash) rescue raise CIProjectAccessError, "Something went wrong asking #{ENV['CI_SERVICE']} about commit #{hash} in #{app} on the #{branch} branch." end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
deep_thought-0.1.0 | lib/deep_thought/ci_service.rb |