Sha256: 729b35314168d31e8d8cfab0136b354a2e8319b20e9e5ca8e4c7216a29856e82
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
module Integrity class Notifier class Base def self.notify_of_build(build, config) new(build, config).deliver! end def self.to_haml filename = name.split("::").last.downcase File.read File.join(Integrity.root / "lib" / "integrity" / "notifier" / "#{filename}.haml") end attr_reader :build def initialize(build, config) @build = build @config = config end def deliver! raise NoMethodError, "you need to implement this method in your notifier" end def short_message "Build #{build.short_commit_identifier} #{build.successful? ? "was successful" : "failed"}" end def full_message <<-EOM "Build #{build.commit_identifier} #{build.successful? ? "was successful" : "failed"}" Commit Message: #{build.commit_message} Commit Date: #{build.commited_at} Commit Author: #{build.commit_author.name} Link: #{build_url} Build Output: #{stripped_build_output} EOM end def build_url raise if Integrity.config[:base_uri].nil? Integrity.config[:base_uri] / build.project.permalink / "builds" / build.commit_identifier end private def stripped_build_output build.output.gsub("\e[0m", '').gsub(/\e\[3[1-7]m/, '') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
foca-integrity-0.1.0 | lib/integrity/notifier/base.rb |