makers_toolbelt 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 483a84750e0628343f363d6e54df722bc83ebcb2
4
- data.tar.gz: 35a0e3b06df60fff7bf73b0b54c1ba56cc6a2366
3
+ metadata.gz: f5c7bcc459271d34a0af77e7190c313db9a5ee33
4
+ data.tar.gz: 0d93bea6d24743f08bd144c33f3fa60b90468f83
5
5
  SHA512:
6
- metadata.gz: cb11599fd4a0f5547fb5e8e812dff0e82ef0534b754945a63c6421841407b56cffaf54879493c67fbc44c6c70cad027954339105712dc0daae01d1ddb0cef6f2
7
- data.tar.gz: c337b59998774e7ac403e2e6444a33ddc0d6afaa35f4019e45288f42a0da2ecdfab627e3bebf8af989d812bd9024bed7ada88e52a54ba144c87ea74eab113caa
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.1.3
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: 2016-01-18 00:00:00.000000000 Z
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
- description:
43
- email:
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
- - command_map.yml
51
- - lib/makers_toolbelt.rb
52
- - lib/makers_toolbelt/fetch_pull_requests.rb
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: '0'
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.4.5.1
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,6 +0,0 @@
1
- fetch_pull_requests:
2
- class: FetchPullRequests
3
- args: [filter]
4
- generate_pairs:
5
- class: GeneratePairs
6
- args: [source]
@@ -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
@@ -1,7 +0,0 @@
1
- require 'yaml'
2
- require 'makers_toolbelt/fetch_pull_requests'
3
- require 'makers_toolbelt/generate_pairs'
4
-
5
- module MakersToolbelt
6
- class NotFoundError < StandardError; end
7
- end