devcenter 1.1.8 → 1.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 +5 -5
- data/CODEOWNERS +2 -0
- data/devcenter.gemspec +25 -24
- data/lib/devcenter/commands/base.rb +3 -4
- data/lib/devcenter/commands/pull.rb +2 -2
- data/lib/devcenter/helpers.rb +2 -3
- data/lib/devcenter/previewer/file_listener.rb +8 -4
- data/lib/devcenter/previewer/web_app.rb +0 -3
- data/lib/devcenter/previewer.rb +1 -5
- data/lib/devcenter/version.rb +1 -1
- metadata +47 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7a6a2e1b6bd8e979e6ce1106773f16a40a23221f9214ba9b3594a3cbf6d1a514
|
4
|
+
data.tar.gz: bcc5f9fab7d7cf2f965f764f1c3b92c1bfb36efa662cb5bf4b5c2dca1b092a69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 688237e4aeeca4f10f5fc0010af7afb84860a2a64053072c16b868eb7587121cd58b9883c6c04616f01541c3416e0a0dcfc4066ec2c26c983fdf04c84378d9dc
|
7
|
+
data.tar.gz: 46573fcc5c761c4fc54e02f1f437bef83a2ac73f9c6aa5c4c6ba51c0e41fcc85a64eda294621683c17df5b49452721e0b2a26ac65d4491d879f4447670712d7f
|
data/CODEOWNERS
ADDED
data/devcenter.gemspec
CHANGED
@@ -1,33 +1,34 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'devcenter/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |gem|
|
7
|
-
gem.name =
|
6
|
+
gem.name = 'devcenter'
|
8
7
|
gem.version = Devcenter::VERSION
|
9
|
-
gem.authors = [
|
10
|
-
gem.email = [
|
11
|
-
gem.description = %q
|
12
|
-
gem.summary = %q
|
13
|
-
gem.homepage =
|
8
|
+
gem.authors = ['Heroku']
|
9
|
+
gem.email = ['heroku-front-end@salesforce.com']
|
10
|
+
gem.description = %q(CLI to interact with Heroku's Dev Center)
|
11
|
+
gem.summary = %q(CLI to interact with Heroku's Dev Center)
|
12
|
+
gem.homepage = 'https://devcenter.heroku.com'
|
14
13
|
|
15
14
|
gem.files = `git ls-files`.split($/)
|
16
|
-
gem.executables = %w
|
15
|
+
gem.executables = %w[devcenter]
|
17
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
-
gem.require_paths = %w
|
19
|
-
|
20
|
-
gem.
|
21
|
-
|
22
|
-
gem.add_runtime_dependency('
|
23
|
-
gem.add_runtime_dependency('
|
24
|
-
gem.add_runtime_dependency('
|
25
|
-
gem.add_runtime_dependency('
|
26
|
-
gem.add_runtime_dependency('
|
27
|
-
gem.add_runtime_dependency('
|
28
|
-
gem.add_runtime_dependency('
|
29
|
-
gem.add_runtime_dependency('
|
30
|
-
gem.add_runtime_dependency('rack
|
31
|
-
gem.add_runtime_dependency('
|
32
|
-
gem.add_runtime_dependency('
|
17
|
+
gem.require_paths = %w[lib]
|
18
|
+
|
19
|
+
gem.required_ruby_version = '>= 3.0.0'
|
20
|
+
|
21
|
+
gem.add_runtime_dependency('coderay', '~> 1.1.3')
|
22
|
+
gem.add_runtime_dependency('commander', '~> 4.6')
|
23
|
+
gem.add_runtime_dependency('devcenter-parser', '~> 2.3')
|
24
|
+
gem.add_runtime_dependency('excon', '~> 0.100.0')
|
25
|
+
gem.add_runtime_dependency('json', '~> 2.3.1')
|
26
|
+
gem.add_runtime_dependency('launchy', '~> 2.4.3')
|
27
|
+
gem.add_runtime_dependency('listen', '~> 3.4.1')
|
28
|
+
gem.add_runtime_dependency('netrc', '~> 0.11.0')
|
29
|
+
gem.add_runtime_dependency('rack', '~> 2.2.8')
|
30
|
+
gem.add_runtime_dependency('rack-protection', '~> 2.2.4')
|
31
|
+
gem.add_runtime_dependency('sinatra', '~> 2.2.4')
|
32
|
+
gem.add_runtime_dependency('thin', '~> 1.8.2')
|
33
|
+
gem.add_runtime_dependency('tilt', '~> 2.0.11')
|
33
34
|
end
|
@@ -37,10 +37,9 @@ module Devcenter::Commands
|
|
37
37
|
|
38
38
|
def article_not_found!(slug)
|
39
39
|
message = ["No #{slug} article found."]
|
40
|
-
response = Devcenter::Client.get(:
|
41
|
-
suggestions = response.body['
|
42
|
-
suggestions.select!{ |
|
43
|
-
suggestions.each{ |s| s['slug'] = slug_from_article_url(s['full_url']) }
|
40
|
+
response = Devcenter::Client.get(path: search_api_path, query: { query: slug })
|
41
|
+
suggestions = response.body['results']
|
42
|
+
suggestions.select! { |result| article_url?(result['full_url']) }
|
44
43
|
unless suggestions.empty?
|
45
44
|
message << "Perhaps you meant one of these:"
|
46
45
|
longest = suggestions.map {|suggestion| suggestion['slug'].size }.max
|
@@ -16,10 +16,10 @@ module Devcenter::Commands
|
|
16
16
|
|
17
17
|
def run
|
18
18
|
response = Devcenter::Client.get(path: article_api_path(@slug))
|
19
|
-
article_received = response.ok? && response.body['
|
19
|
+
article_received = response.ok? && response.body['slug'] == @slug
|
20
20
|
article_not_found!(@slug) unless article_received
|
21
21
|
|
22
|
-
article = response.body
|
22
|
+
article = response.body
|
23
23
|
metadata = {'title' => article['title'], 'id' => article['id']}
|
24
24
|
file_path = md_file_path(@slug)
|
25
25
|
|
data/lib/devcenter/helpers.rb
CHANGED
@@ -19,7 +19,7 @@ module Devcenter::Helpers
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def search_api_path
|
22
|
-
"/
|
22
|
+
"/api/v1/search.json"
|
23
23
|
end
|
24
24
|
|
25
25
|
def validate_article_path(id)
|
@@ -32,8 +32,7 @@ module Devcenter::Helpers
|
|
32
32
|
|
33
33
|
def article_url?(url)
|
34
34
|
escaped_base_url = devcenter_base_url.gsub('/','\\/')
|
35
|
-
url.match(/\A#{escaped_base_url}\/articles\/.+/)
|
36
|
-
true
|
35
|
+
url.match?(/\A#{escaped_base_url}\/articles\/.+/)
|
37
36
|
end
|
38
37
|
|
39
38
|
def slug_from_article_url(url)
|
@@ -1,14 +1,18 @@
|
|
1
|
+
require_relative 'web_app'
|
2
|
+
|
1
3
|
module Devcenter::Previewer
|
2
4
|
|
3
5
|
class FileListener
|
4
6
|
require 'listen'
|
5
7
|
|
6
|
-
def initialize(file_path
|
8
|
+
def initialize(file_path)
|
7
9
|
dir = File.dirname(file_path)
|
8
10
|
basename = File.basename(file_path)
|
9
|
-
@listener = Listen.to(dir)
|
10
|
-
|
11
|
-
|
11
|
+
@listener = Listen.to(dir) do |modified, added, removed|
|
12
|
+
modified.each{ |f| Devcenter::Logger.log "File modified: #{f}" }
|
13
|
+
WebApp.send_server_event
|
14
|
+
end
|
15
|
+
@listener.only(%r{#{basename}})
|
12
16
|
end
|
13
17
|
|
14
18
|
def start
|
@@ -1,12 +1,9 @@
|
|
1
1
|
require 'sinatra'
|
2
|
-
require 'rack/highlighter'
|
3
2
|
|
4
3
|
module Devcenter::Previewer
|
5
4
|
|
6
5
|
class WebApp < Sinatra::Base
|
7
6
|
|
8
|
-
use Rack::Highlighter, :coderay, { misc: { :css => :class, :element => "pre>code" } }
|
9
|
-
|
10
7
|
include Devcenter::Logger
|
11
8
|
|
12
9
|
set :logging, false
|
data/lib/devcenter/previewer.rb
CHANGED
@@ -46,11 +46,7 @@ module Devcenter::Previewer
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def init_listener
|
49
|
-
|
50
|
-
modified.each{ |f| Devcenter::Logger.log "File modified: #{f}" }
|
51
|
-
WebApp.send_server_event
|
52
|
-
end
|
53
|
-
FileListener.new(md_path, file_listener_callback)
|
49
|
+
FileListener.new(md_path)
|
54
50
|
end
|
55
51
|
|
56
52
|
def start
|
data/lib/devcenter/version.rb
CHANGED
metadata
CHANGED
@@ -1,233 +1,207 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devcenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
|
9
|
-
autorequire:
|
7
|
+
- Heroku
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2023-08-17 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: coderay
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
17
|
- - "~>"
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
19
|
+
version: 1.1.3
|
21
20
|
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
24
|
- - "~>"
|
26
25
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
26
|
+
version: 1.1.3
|
28
27
|
- !ruby/object:Gem::Dependency
|
29
28
|
name: commander
|
30
29
|
requirement: !ruby/object:Gem::Requirement
|
31
30
|
requirements:
|
32
31
|
- - "~>"
|
33
32
|
- !ruby/object:Gem::Version
|
34
|
-
version: '4.
|
33
|
+
version: '4.6'
|
35
34
|
type: :runtime
|
36
35
|
prerelease: false
|
37
36
|
version_requirements: !ruby/object:Gem::Requirement
|
38
37
|
requirements:
|
39
38
|
- - "~>"
|
40
39
|
- !ruby/object:Gem::Version
|
41
|
-
version: '4.
|
40
|
+
version: '4.6'
|
42
41
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
42
|
+
name: devcenter-parser
|
44
43
|
requirement: !ruby/object:Gem::Requirement
|
45
44
|
requirements:
|
46
45
|
- - "~>"
|
47
46
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
49
|
-
- - ">="
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version: 1.8.2
|
47
|
+
version: '2.3'
|
52
48
|
type: :runtime
|
53
49
|
prerelease: false
|
54
50
|
version_requirements: !ruby/object:Gem::Requirement
|
55
51
|
requirements:
|
56
52
|
- - "~>"
|
57
53
|
- !ruby/object:Gem::Version
|
58
|
-
version: '
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.8.2
|
54
|
+
version: '2.3'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: excon
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
58
|
requirements:
|
66
59
|
- - "~>"
|
67
60
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
61
|
+
version: 0.100.0
|
69
62
|
type: :runtime
|
70
63
|
prerelease: false
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
66
|
- - "~>"
|
74
67
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
68
|
+
version: 0.100.0
|
76
69
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '2.1'
|
83
|
-
type: :runtime
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '2.1'
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: coderay
|
70
|
+
name: json
|
92
71
|
requirement: !ruby/object:Gem::Requirement
|
93
72
|
requirements:
|
94
73
|
- - "~>"
|
95
74
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
75
|
+
version: 2.3.1
|
97
76
|
type: :runtime
|
98
77
|
prerelease: false
|
99
78
|
version_requirements: !ruby/object:Gem::Requirement
|
100
79
|
requirements:
|
101
80
|
- - "~>"
|
102
81
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
82
|
+
version: 2.3.1
|
104
83
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
84
|
+
name: launchy
|
106
85
|
requirement: !ruby/object:Gem::Requirement
|
107
86
|
requirements:
|
108
87
|
- - "~>"
|
109
88
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
89
|
+
version: 2.4.3
|
111
90
|
type: :runtime
|
112
91
|
prerelease: false
|
113
92
|
version_requirements: !ruby/object:Gem::Requirement
|
114
93
|
requirements:
|
115
94
|
- - "~>"
|
116
95
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
96
|
+
version: 2.4.3
|
118
97
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
98
|
+
name: listen
|
120
99
|
requirement: !ruby/object:Gem::Requirement
|
121
100
|
requirements:
|
122
101
|
- - "~>"
|
123
102
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
103
|
+
version: 3.4.1
|
125
104
|
type: :runtime
|
126
105
|
prerelease: false
|
127
106
|
version_requirements: !ruby/object:Gem::Requirement
|
128
107
|
requirements:
|
129
108
|
- - "~>"
|
130
109
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
110
|
+
version: 3.4.1
|
132
111
|
- !ruby/object:Gem::Dependency
|
133
|
-
name:
|
112
|
+
name: netrc
|
134
113
|
requirement: !ruby/object:Gem::Requirement
|
135
114
|
requirements:
|
136
115
|
- - "~>"
|
137
116
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
117
|
+
version: 0.11.0
|
139
118
|
type: :runtime
|
140
119
|
prerelease: false
|
141
120
|
version_requirements: !ruby/object:Gem::Requirement
|
142
121
|
requirements:
|
143
122
|
- - "~>"
|
144
123
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
124
|
+
version: 0.11.0
|
146
125
|
- !ruby/object:Gem::Dependency
|
147
|
-
name:
|
126
|
+
name: rack
|
148
127
|
requirement: !ruby/object:Gem::Requirement
|
149
128
|
requirements:
|
150
129
|
- - "~>"
|
151
130
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
131
|
+
version: 2.2.8
|
153
132
|
type: :runtime
|
154
133
|
prerelease: false
|
155
134
|
version_requirements: !ruby/object:Gem::Requirement
|
156
135
|
requirements:
|
157
136
|
- - "~>"
|
158
137
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
138
|
+
version: 2.2.8
|
160
139
|
- !ruby/object:Gem::Dependency
|
161
|
-
name:
|
140
|
+
name: rack-protection
|
162
141
|
requirement: !ruby/object:Gem::Requirement
|
163
142
|
requirements:
|
164
143
|
- - "~>"
|
165
144
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
145
|
+
version: 2.2.4
|
167
146
|
type: :runtime
|
168
147
|
prerelease: false
|
169
148
|
version_requirements: !ruby/object:Gem::Requirement
|
170
149
|
requirements:
|
171
150
|
- - "~>"
|
172
151
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
152
|
+
version: 2.2.4
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
|
-
name:
|
154
|
+
name: sinatra
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
156
|
requirements:
|
178
157
|
- - "~>"
|
179
158
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
159
|
+
version: 2.2.4
|
181
160
|
type: :runtime
|
182
161
|
prerelease: false
|
183
162
|
version_requirements: !ruby/object:Gem::Requirement
|
184
163
|
requirements:
|
185
164
|
- - "~>"
|
186
165
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
166
|
+
version: 2.2.4
|
188
167
|
- !ruby/object:Gem::Dependency
|
189
|
-
name:
|
168
|
+
name: thin
|
190
169
|
requirement: !ruby/object:Gem::Requirement
|
191
170
|
requirements:
|
192
171
|
- - "~>"
|
193
172
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
173
|
+
version: 1.8.2
|
195
174
|
type: :runtime
|
196
175
|
prerelease: false
|
197
176
|
version_requirements: !ruby/object:Gem::Requirement
|
198
177
|
requirements:
|
199
178
|
- - "~>"
|
200
179
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
180
|
+
version: 1.8.2
|
202
181
|
- !ruby/object:Gem::Dependency
|
203
|
-
name:
|
182
|
+
name: tilt
|
204
183
|
requirement: !ruby/object:Gem::Requirement
|
205
184
|
requirements:
|
206
185
|
- - "~>"
|
207
186
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
209
|
-
- - ">="
|
210
|
-
- !ruby/object:Gem::Version
|
211
|
-
version: 0.10.2
|
187
|
+
version: 2.0.11
|
212
188
|
type: :runtime
|
213
189
|
prerelease: false
|
214
190
|
version_requirements: !ruby/object:Gem::Requirement
|
215
191
|
requirements:
|
216
192
|
- - "~>"
|
217
193
|
- !ruby/object:Gem::Version
|
218
|
-
version:
|
219
|
-
- - ">="
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: 0.10.2
|
194
|
+
version: 2.0.11
|
222
195
|
description: CLI to interact with Heroku's Dev Center
|
223
196
|
email:
|
224
|
-
-
|
197
|
+
- heroku-front-end@salesforce.com
|
225
198
|
executables:
|
226
199
|
- devcenter
|
227
200
|
extensions: []
|
228
201
|
extra_rdoc_files: []
|
229
202
|
files:
|
230
203
|
- ".gitignore"
|
204
|
+
- CODEOWNERS
|
231
205
|
- CONTRIBUTING.md
|
232
206
|
- Gemfile
|
233
207
|
- LICENSE.txt
|
@@ -261,7 +235,7 @@ files:
|
|
261
235
|
homepage: https://devcenter.heroku.com
|
262
236
|
licenses: []
|
263
237
|
metadata: {}
|
264
|
-
post_install_message:
|
238
|
+
post_install_message:
|
265
239
|
rdoc_options: []
|
266
240
|
require_paths:
|
267
241
|
- lib
|
@@ -269,16 +243,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
269
243
|
requirements:
|
270
244
|
- - ">="
|
271
245
|
- !ruby/object:Gem::Version
|
272
|
-
version:
|
246
|
+
version: 3.0.0
|
273
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
274
248
|
requirements:
|
275
249
|
- - ">="
|
276
250
|
- !ruby/object:Gem::Version
|
277
251
|
version: '0'
|
278
252
|
requirements: []
|
279
|
-
|
280
|
-
|
281
|
-
signing_key:
|
253
|
+
rubygems_version: 3.2.33
|
254
|
+
signing_key:
|
282
255
|
specification_version: 4
|
283
256
|
summary: CLI to interact with Heroku's Dev Center
|
284
257
|
test_files: []
|