Class: See::Plugins::TravisCI

Inherits:
Object
  • Object
show all
Defined in:
lib/see/plugins/travis.rb

Instance Method Summary collapse

Instance Method Details

#config_nameObject



10
11
12
# File 'lib/see/plugins/travis.rb', line 10

def config_name
  'travis'
end

#display_nameObject



6
7
8
# File 'lib/see/plugins/travis.rb', line 6

def display_name
  'Travis CI'
end

#run(config, plugin_config) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/see/plugins/travis.rb', line 14

def run(config, plugin_config)
  info = []
  repository = plugin_config["repository"]
  builds = Travis::Repository.find(repository).recent_builds[0..4].map do |build|
    time = ( build.finished_at ? "- #{build.finished_at.strftime("%b %e,%l:%M %p")}" : "- running" ).black
    if build.pending?
      state = build.state.capitalize.cyan
    else
      state = build.unsuccessful? ? build.state.capitalize.red : build.state.capitalize.green
    end
    name = "[#{build.commit.author_name}]".cyan
    "    - #{state} #{build.commit.short_sha.light_yellow} #{("#"+build.number).light_green} #{build.commit.subject} #{name} #{time}"
  end

  if builds.count > 0
    info << "  Latest Builds:".light_blue
    info.concat(builds)
  else
    info << "No available build status".yellow
  end
  info
end