see 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/see +2 -0
- data/lib/see.rb +122 -0
- metadata +47 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dfda752b5ca5cfdb39e900487e498ec27f60c769
|
4
|
+
data.tar.gz: 7e89e87b398f921ba60ec9f1fbe5a159d8749cdf
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 162dc67d03e97cb1f2a674fefa717664ac977c67bf3387d9909d1f2c14d93df91686bb1289de6941cbdb1e59b8fde67ef7538b36e3bc67bf7c8c0d9e4a48acdb
|
7
|
+
data.tar.gz: daa2d10d4d726cd8dcdab9367b4e01e720303f94a656f4e0088479464b9e6eeca14075681a59736c120247761a2e330e7f00ccd4acdc02a5b6665e0caa3a9016
|
data/bin/see
ADDED
data/lib/see.rb
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
require 'colorize'
|
2
|
+
require 'travis'
|
3
|
+
require 'octokit'
|
4
|
+
require 'pivotal-tracker'
|
5
|
+
require 'yaml'
|
6
|
+
|
7
|
+
def github(config, info, no_info)
|
8
|
+
if config.has_key?('github')
|
9
|
+
client = Octokit::Client.new :access_token => ENV['GITHUB_ACCESS_TOKEN']
|
10
|
+
account = config['github']['account']
|
11
|
+
repository = config['github']['repository']
|
12
|
+
github_name = [account, repository].join '/'
|
13
|
+
|
14
|
+
pull_requests = client.pull_requests(github_name)
|
15
|
+
if pull_requests.count > 0
|
16
|
+
info << "Open pull requests:".light_blue
|
17
|
+
pull_requests.each do |pull_request|
|
18
|
+
username = "[#{pull_request.user.login}]".cyan
|
19
|
+
time = "(#{pull_request.updated_at.strftime("%b %e,%l:%M %p")})".blue
|
20
|
+
info << " - #{pull_request.title} #{username} #{time}"
|
21
|
+
end
|
22
|
+
else
|
23
|
+
no_info << "No open pull requests"
|
24
|
+
end
|
25
|
+
|
26
|
+
issues = client.issues(github_name)
|
27
|
+
if issues.count > 0
|
28
|
+
info << "Open issues:".light_blue
|
29
|
+
issues.each do |issue|
|
30
|
+
username = "[#{issue.user.login}]".cyan
|
31
|
+
time = "(#{issue.updated_at.strftime("%b %e,%l:%M %p")})".blue
|
32
|
+
info << " - #{issue.title} #{username} #{time}"
|
33
|
+
end
|
34
|
+
else
|
35
|
+
no_info << "No open issues"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def pivotal(config, info, no_info)
|
41
|
+
if config.has_key?('pivotal')
|
42
|
+
PivotalTracker::Client.token = ENV['PIVOTAL_TRACKER_ACCESS_TOKEN']
|
43
|
+
project = PivotalTracker::Project.find(config['pivotal']['project'])
|
44
|
+
|
45
|
+
next_unowned_story = nil
|
46
|
+
has_current = false
|
47
|
+
stories = []
|
48
|
+
project.stories.all.each do |story|
|
49
|
+
next if story.accepted_at != nil
|
50
|
+
if story.owned_by == nil and not next_unowned_story
|
51
|
+
next_unowned_story = story
|
52
|
+
elsif story.owned_by
|
53
|
+
has_current = true
|
54
|
+
owner = "[#{story.owned_by}]".cyan
|
55
|
+
time = "(#{story.created_at.strftime("%b %e,%l:%M %p")})".blue
|
56
|
+
id = "#{story.id}".light_yellow
|
57
|
+
stories << " - #{story.name} #{owner} #{id} #{time}"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
if stories.length > 0
|
62
|
+
info << "Stories being worked on:".light_blue
|
63
|
+
info << stories
|
64
|
+
else
|
65
|
+
no_info << "No stories being worked on"
|
66
|
+
end
|
67
|
+
|
68
|
+
if next_unowned_story
|
69
|
+
info << "Next story that can be worked on:".light_blue
|
70
|
+
time = "(#{next_unowned_story.created_at.strftime("%b %e,%l:%M %p")})".blue
|
71
|
+
id = "#{next_unowned_story.id}".light_yellow
|
72
|
+
name = next_unowned_story.name
|
73
|
+
info << " - #{name} #{id} #{time}"
|
74
|
+
else
|
75
|
+
no_info << "No stories ready to work on"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def travis(config, info, no_info)
|
81
|
+
if config.has_key?('travis')
|
82
|
+
client = Travis::Client.new
|
83
|
+
|
84
|
+
repository = config["travis"]["repository"]
|
85
|
+
builds = client.repo(repository).recent_builds.map do |build|
|
86
|
+
time = "(#{build.finished_at.strftime("%b %e,%l:%M %p")})".blue
|
87
|
+
state = build.failed? ? build.state.capitalize.red : build.state.capitalize.green
|
88
|
+
" - #{state} #{build.commit.short_sha.light_yellow} #{build.commit.subject} #{build.job_ids.to_s.light_magenta} #{time}"
|
89
|
+
end
|
90
|
+
|
91
|
+
if builds.count > 0
|
92
|
+
info << "Latest Builds:".light_blue
|
93
|
+
info.concat(builds)
|
94
|
+
else
|
95
|
+
no_info << "No available build status".yellow
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
#
|
101
|
+
# Processing of plugins
|
102
|
+
#
|
103
|
+
|
104
|
+
begin
|
105
|
+
config = YAML.load_file('.project.yml')
|
106
|
+
rescue
|
107
|
+
puts 'No configuration file found (tried ./.project.yml)'.yellow
|
108
|
+
puts ' (if the file exists it may be malformed)'
|
109
|
+
exit 1
|
110
|
+
end
|
111
|
+
|
112
|
+
information = []
|
113
|
+
no_information = []
|
114
|
+
config.each do |configuration|
|
115
|
+
information = []
|
116
|
+
service_name = configuration[0]
|
117
|
+
self.send(service_name, config, information, no_information)
|
118
|
+
puts information
|
119
|
+
end
|
120
|
+
|
121
|
+
puts
|
122
|
+
puts no_information.map(&:yellow)
|
metadata
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: see
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael Avila
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-02-18 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: me@michaelavila.com
|
15
|
+
executables:
|
16
|
+
- see
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- bin/see
|
21
|
+
- lib/see.rb
|
22
|
+
homepage:
|
23
|
+
licenses: []
|
24
|
+
metadata: {}
|
25
|
+
post_install_message:
|
26
|
+
rdoc_options: []
|
27
|
+
require_paths:
|
28
|
+
- lib
|
29
|
+
- lib
|
30
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
requirements: []
|
41
|
+
rubyforge_project:
|
42
|
+
rubygems_version: 2.0.14
|
43
|
+
signing_key:
|
44
|
+
specification_version: 4
|
45
|
+
summary: Project status for programmers
|
46
|
+
test_files: []
|
47
|
+
has_rdoc: true
|