scrum_yo 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +18 -10
- data/lib/scrum_yo.rb +3 -0
- data/lib/scrum_yo/user.rb +42 -0
- data/lib/scrum_yo/version.rb +1 -1
- data/scrum_art.png +0 -0
- data/scrum_yo.gemspec +1 -0
- data/scrumyo_example.png +0 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDc5MTc4MjVhOTg0MTVlYTczMmFmNTM3YmYyOThhN2FkOGY0MDNiZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGNjNzgzY2I5YzQ0YjFkMmJkMDEwYTJiOGVlZWQ5NjI4ZTI4MWMzZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2FlNGU4NjQxZjkwMWYyYzg0MDgwNjJkYmQ0NzU1ZWZhYjQ3ZDZiMDI4Nzgw
|
10
|
+
MWU0NDBkMDk4M2FjYTQwNzFiMmU5ZGM4ZmQ1ZjBjYzY5NzA1MjJiNmVkZDZj
|
11
|
+
M2QxNzE4ZjFhNDRhZDY3YzNkZThlMzNjNjVlZTUyOTk2MzRmNmM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTQ5ZTA5NWQxZWQyYTA5M2M5YTM2M2YwNjRmNGQ1NDA5NDI0OWYzNTY4ODA5
|
14
|
+
ZTFmMzljM2ZhYmJmYWNiMjJiZmU3NWIzNWQ4ZmEyMGVjYWIwZGEwZWYxM2I3
|
15
|
+
MWE2ZTM4ZTU3ZTFmMzQ1ZTAwNTVjZTY5YjI5NDk5NmNkY2M0OTk=
|
data/README.md
CHANGED
@@ -1,24 +1,32 @@
|
|
1
|
-
|
1
|
+
![scrum yo](https://raw.githubusercontent.com/mscoutermarsh/scrum_yo/master/scrum_art.png)
|
2
2
|
|
3
|
-
|
3
|
+
Be awesome at your daily stand up. Get a summary of your most recent GitHub commits & pull requests right in your console.
|
4
|
+
|
5
|
+
ScrumYo uses the GitHub API to grab your recent commits/pull requests.
|
6
|
+
|
7
|
+
### Screenshot
|
8
|
+
![example of scrumyo](https://raw.githubusercontent.com/mscoutermarsh/scrum_yo/master/scrumyo_example.png)
|
4
9
|
|
5
10
|
## Installation
|
6
11
|
|
7
|
-
|
12
|
+
$ gem install scrum_yo
|
13
|
+
|
14
|
+
If using RVM, install it to your global gemset:
|
8
15
|
|
9
|
-
gem
|
16
|
+
$ rvm @global do gem install scrum_yo
|
10
17
|
|
11
|
-
And then execute:
|
12
18
|
|
13
|
-
|
19
|
+
## Usage
|
14
20
|
|
15
|
-
|
21
|
+
There is only one command! To see your recent activity:
|
16
22
|
|
17
|
-
$
|
23
|
+
$ scrumyo
|
18
24
|
|
19
|
-
|
25
|
+
You'll have to login to your GitHub account on first use.
|
26
|
+
|
27
|
+
## Authentication
|
20
28
|
|
21
|
-
|
29
|
+
You'll be asked to login to GitHub your first time using ScrumYo. This creates an OAuth token to be used for subsequent logins. Oauth token is saved to your ```~/.netrc``` file.
|
22
30
|
|
23
31
|
## Contributing
|
24
32
|
|
data/lib/scrum_yo.rb
CHANGED
@@ -11,6 +11,9 @@ require 'string_hacks'
|
|
11
11
|
module ScrumYo
|
12
12
|
class CLI
|
13
13
|
def self.start(*args)
|
14
|
+
puts "ScrumYo!".rainbow
|
15
|
+
ScrumYo::User.authenticate
|
16
|
+
|
14
17
|
puts "Happy #{DateTime.current.strftime('%A')}!\n"
|
15
18
|
puts "Grabbing your recent GitHub Activity...\n".rainbow
|
16
19
|
ScrumYo::Output.new.print
|
data/lib/scrum_yo/user.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'highline/import'
|
2
|
+
require 'netrc'
|
3
|
+
|
1
4
|
module ScrumYo
|
2
5
|
class User
|
3
6
|
attr_reader :github_client, :username, :emails
|
@@ -13,5 +16,44 @@ module ScrumYo
|
|
13
16
|
Time.zone = DateTime.now.utc_offset / 60 / 60
|
14
17
|
Time.zone.name
|
15
18
|
end
|
19
|
+
|
20
|
+
def self.authenticate(logged_in = false)
|
21
|
+
netrc = Netrc.read
|
22
|
+
|
23
|
+
if netrc['api.github.com'] && Octokit::Client.new(netrc: true).login
|
24
|
+
return true
|
25
|
+
end
|
26
|
+
|
27
|
+
puts "Authentication failed".red if logged_in
|
28
|
+
|
29
|
+
get_credentials
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.get_credentials
|
33
|
+
puts "Please login with your Github account.".yellow
|
34
|
+
username = ask("Github Username:")
|
35
|
+
password = ask('Password (typing hidden):') { |q| q.echo = false }
|
36
|
+
|
37
|
+
client = Octokit::Client.new(login: username, password: password)
|
38
|
+
|
39
|
+
|
40
|
+
if agree('Do you use Two Factor Auth? (y/n)')
|
41
|
+
two_factor = ask('Enter your 2FA token:')
|
42
|
+
oauth = client.create_authorization(scopes: ['user','repo'], note: 'ScrumYo gem!', headers: { "X-GitHub-OTP" => two_factor })
|
43
|
+
else
|
44
|
+
oauth = client.create_authorization(scopes: ['user','repo'], note: 'ScrumYo gem!')
|
45
|
+
end
|
46
|
+
|
47
|
+
save_to_netrc(username, oauth.token)
|
48
|
+
self.authenticate(true)
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.save_to_netrc(user, token)
|
52
|
+
netrc = Netrc.read
|
53
|
+
netrc.new_item_prefix = "# This entry was added by the ScrumYo gem\n"
|
54
|
+
netrc['api.github.com'] = user, token
|
55
|
+
netrc.save
|
56
|
+
end
|
57
|
+
|
16
58
|
end
|
17
59
|
end
|
data/lib/scrum_yo/version.rb
CHANGED
data/scrum_art.png
ADDED
Binary file
|
data/scrum_yo.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'netrc', '~> 0.7.7'
|
23
23
|
spec.add_dependency 'activesupport', '~> 4.1.0'
|
24
24
|
spec.add_dependency 'colorize'
|
25
|
+
spec.add_dependency 'highline'
|
25
26
|
|
26
27
|
spec.add_development_dependency "bundler", "~> 1.5"
|
27
28
|
spec.add_development_dependency "pry"
|
data/scrumyo_example.png
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scrum_yo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Coutermarsh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: highline
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: bundler
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,7 +172,9 @@ files:
|
|
158
172
|
- lib/scrum_yo/user.rb
|
159
173
|
- lib/scrum_yo/version.rb
|
160
174
|
- lib/string_hacks.rb
|
175
|
+
- scrum_art.png
|
161
176
|
- scrum_yo.gemspec
|
177
|
+
- scrumyo_example.png
|
162
178
|
- spec/spec_helper.rb
|
163
179
|
homepage: ''
|
164
180
|
licenses:
|