makers_toolbelt 0.1.3 → 0.2.0
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 +4 -4
- metadata +109 -12
- data/command_map.yml +0 -6
- data/lib/makers_toolbelt/fetch_pull_requests.rb +0 -108
- data/lib/makers_toolbelt/generate_pairs.rb +0 -38
- data/lib/makers_toolbelt.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5c7bcc459271d34a0af77e7190c313db9a5ee33
|
4
|
+
data.tar.gz: 0d93bea6d24743f08bd144c33f3fa60b90468f83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9b0f4268dfdda1c4fe98a09d2770e9be6616dc7efaf2ccbd926a6547ae1f713c43c3f6408f6d9760ee4eaf2dc4d87f74dcff83304472842522e8751247c246d
|
7
|
+
data.tar.gz: 0faccf941161b48a6ef31b31f8ff2df3724365170f74a6f427d76ef5fb2bb36a8c7014a5bf08c0fec05c0c4d943a22a8550bbc3aeb37b597afc6cc1af6e68cd1
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: makers_toolbelt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Forrest
|
8
8
|
- Sam Joseph
|
9
|
+
- Daniel Le Dosquet-Bergquist
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: octokit
|
@@ -39,20 +40,116 @@ dependencies:
|
|
39
40
|
- - ">="
|
40
41
|
- !ruby/object:Gem::Version
|
41
42
|
version: '0'
|
42
|
-
|
43
|
-
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: commander
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: httparty
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: rspec
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: webmock
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: byebug
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
type: :development
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: bundler
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rake
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
description: Makers Academy command toolbelt
|
142
|
+
email:
|
143
|
+
- dan@makersacademy.com
|
44
144
|
executables:
|
45
145
|
- makers
|
46
146
|
extensions: []
|
47
147
|
extra_rdoc_files: []
|
48
148
|
files:
|
49
149
|
- bin/makers
|
50
|
-
|
51
|
-
|
52
|
-
-
|
53
|
-
- lib/makers_toolbelt/generate_pairs.rb
|
54
|
-
homepage:
|
55
|
-
licenses: []
|
150
|
+
homepage: http://www.makersacademy.com
|
151
|
+
licenses:
|
152
|
+
- MIT
|
56
153
|
metadata: {}
|
57
154
|
post_install_message:
|
58
155
|
rdoc_options: []
|
@@ -62,7 +159,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
62
159
|
requirements:
|
63
160
|
- - ">="
|
64
161
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
162
|
+
version: 2.4.1
|
66
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
164
|
requirements:
|
68
165
|
- - ">="
|
@@ -70,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
70
167
|
version: '0'
|
71
168
|
requirements: []
|
72
169
|
rubyforge_project:
|
73
|
-
rubygems_version: 2.
|
170
|
+
rubygems_version: 2.6.11
|
74
171
|
signing_key:
|
75
172
|
specification_version: 4
|
76
173
|
summary: Makers Academy command toolbelt
|
data/command_map.yml
DELETED
@@ -1,108 +0,0 @@
|
|
1
|
-
require 'octokit'
|
2
|
-
|
3
|
-
module MakersToolbelt
|
4
|
-
class FetchPullRequests
|
5
|
-
OPEN_SWITCHES = ['-a', '--all', '-o', '--open']
|
6
|
-
CLOSED_SWITCHES = ['-a', '--all', '-c', '--closed']
|
7
|
-
|
8
|
-
GITHUB_REMOTE_REGEX = /github\.com(?::|\/)?(.+\/[\w\-]+)(?:\.git|\/)?\n/
|
9
|
-
|
10
|
-
attr_reader :options, :filter
|
11
|
-
|
12
|
-
def initialize(options = {})
|
13
|
-
@options = options
|
14
|
-
@filter = options[:filter] || '--open'
|
15
|
-
end
|
16
|
-
|
17
|
-
def run()
|
18
|
-
pulls = []
|
19
|
-
pulls << open_pull_requests if include_open?
|
20
|
-
pulls << closed_pull_requests if include_closed?
|
21
|
-
|
22
|
-
pulls.flatten!.select! {|p| p.head.repo }
|
23
|
-
|
24
|
-
pulls.map { |p| [p.head.repo.owner.login, p.head.repo.html_url] }.each do |name, url|
|
25
|
-
puts "adding #{name}"
|
26
|
-
`git remote add #{name} #{url}`
|
27
|
-
puts "fetching #{url}"
|
28
|
-
`git fetch #{name}`
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def repo
|
33
|
-
@repo ||= repo_from_remote_path(origin_path)
|
34
|
-
end
|
35
|
-
|
36
|
-
def repo_from_remote_path(path)
|
37
|
-
@regex ||= GITHUB_REMOTE_REGEX
|
38
|
-
@regex.match(path).captures.first
|
39
|
-
rescue
|
40
|
-
fail NotFoundError.new('Could not find remote origin')
|
41
|
-
end
|
42
|
-
|
43
|
-
def include_open?
|
44
|
-
OPEN_SWITCHES.include? filter
|
45
|
-
end
|
46
|
-
|
47
|
-
def include_closed?
|
48
|
-
CLOSED_SWITCHES.include? filter
|
49
|
-
end
|
50
|
-
|
51
|
-
private
|
52
|
-
|
53
|
-
def open_pull_requests
|
54
|
-
puts "fetching open pull requests from #{repo}..."
|
55
|
-
fetch_pull_requests('open')
|
56
|
-
end
|
57
|
-
|
58
|
-
def closed_pull_requests
|
59
|
-
puts "fetching closed pull requests from #{repo}..."
|
60
|
-
fetch_pull_requests('closed')
|
61
|
-
end
|
62
|
-
|
63
|
-
def fetch_pull_requests(state)
|
64
|
-
pulls = client.pull_requests repo, state: state, per_page: 100
|
65
|
-
fetch_more_pages(pulls)
|
66
|
-
rescue StandardError => e
|
67
|
-
puts "Error occurred while fetching pull requests: #{e.message}"
|
68
|
-
ensure
|
69
|
-
pulls
|
70
|
-
end
|
71
|
-
|
72
|
-
def fetch_more_pages(into_array)
|
73
|
-
next_page = client.last_response.rels[:next]
|
74
|
-
while next_page do
|
75
|
-
response = next_page.get
|
76
|
-
into_array << response.data
|
77
|
-
next_page = response.rels[:next]
|
78
|
-
end
|
79
|
-
into_array
|
80
|
-
end
|
81
|
-
|
82
|
-
def origin_path
|
83
|
-
@origin_path ||= `git remote show origin | grep 'Fetch URL:'`
|
84
|
-
end
|
85
|
-
|
86
|
-
def client
|
87
|
-
@client ||= create_client
|
88
|
-
end
|
89
|
-
|
90
|
-
def create_client
|
91
|
-
token = ENV['MAKERS_TOOLBELT_GITHUB_TOKEN']
|
92
|
-
if token
|
93
|
-
Octokit::Client.new access_token: token
|
94
|
-
else
|
95
|
-
create_client_from_config
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
def create_client_from_config
|
100
|
-
print 'Enter your GitHub username: '
|
101
|
-
username = STDIN.gets.chomp
|
102
|
-
print "Enter GitHub password for #{username}: "
|
103
|
-
password = STDIN.noecho(&:gets).chomp
|
104
|
-
Octokit::Client.new login: username, password: password
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
require 'one_factorization'
|
2
|
-
require 'json'
|
3
|
-
|
4
|
-
class GeneratePairs
|
5
|
-
FILE_EXTENSION = 'pairs'
|
6
|
-
|
7
|
-
attr_reader :source
|
8
|
-
|
9
|
-
def self.load_names(file_path)
|
10
|
-
File.readlines(file_path).map(&:strip)
|
11
|
-
end
|
12
|
-
|
13
|
-
def initialize(options = {})
|
14
|
-
@source = options[:source]
|
15
|
-
end
|
16
|
-
|
17
|
-
def run
|
18
|
-
names = GeneratePairs.load_names(source)
|
19
|
-
File.open(path, 'w') do |file|
|
20
|
-
puts "Pair assignments created in file #{path}"
|
21
|
-
file.write names.one_factorize.shuffle.to_json
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def path
|
26
|
-
File.join(source_directory, filename)
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def source_directory
|
32
|
-
File.dirname(source)
|
33
|
-
end
|
34
|
-
|
35
|
-
def filename
|
36
|
-
"#{File.basename(source)}.#{FILE_EXTENSION}"
|
37
|
-
end
|
38
|
-
end
|