danger-lgtm 0.2.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -2
- data/Gemfile.lock +4 -4
- data/README.md +4 -0
- data/lib/lgtm/gem_version.rb +1 -1
- data/lib/lgtm/plugin.rb +14 -7
- data/spec/lgtm_spec.rb +16 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bc0f25e9ef746b8ee1c128835654931a5132527
|
4
|
+
data.tar.gz: 2edec9d0cf6c6239e955b01399bb169a6c17bb61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c098b0a77f69c05182d694ebb0092a88caf2be72c2e7665f4d11d307cd250592760316b477fc36cac93908c8f2b47b6e0d51d223e4e02abdd3f8b83f2d9dd068
|
7
|
+
data.tar.gz: 1f05eccca2427dbafcb0d1f289be41137f131c3925037b19d706ec0239b00d87ab5fc73b9824b27de54774e0bdb38e3ce3720a952d6d9fd8b9731d720ced3206
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
danger-lgtm (0.
|
4
|
+
danger-lgtm (1.0.0)
|
5
5
|
danger-plugin-api (~> 1.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -19,7 +19,7 @@ GEM
|
|
19
19
|
colored2 (3.1.2)
|
20
20
|
cork (0.3.0)
|
21
21
|
colored2 (~> 3.1)
|
22
|
-
danger (5.
|
22
|
+
danger (5.1.1)
|
23
23
|
claide (~> 1.0)
|
24
24
|
claide-plugins (>= 0.9.2)
|
25
25
|
colored2 (~> 3.1)
|
@@ -107,8 +107,8 @@ GEM
|
|
107
107
|
faraday (~> 0.8, < 1.0)
|
108
108
|
shellany (0.0.1)
|
109
109
|
slop (3.6.0)
|
110
|
-
terminal-table (1.
|
111
|
-
unicode-display_width (~> 1.1
|
110
|
+
terminal-table (1.7.3)
|
111
|
+
unicode-display_width (~> 1.1.1)
|
112
112
|
thor (0.19.4)
|
113
113
|
unicode-display_width (1.1.3)
|
114
114
|
yard (0.9.8)
|
data/README.md
CHANGED
@@ -20,6 +20,10 @@ Also you can specify a image url to post with `image_url`
|
|
20
20
|
|
21
21
|
lgtm.check_lgtm image_url: 'https://yourimage'
|
22
22
|
|
23
|
+
If you want a https image only, you can use `https_image_only` option
|
24
|
+
|
25
|
+
lgtm.check_lgtm https_image_only: true
|
26
|
+
|
23
27
|
## Development
|
24
28
|
|
25
29
|
1. Clone this repo
|
data/lib/lgtm/gem_version.rb
CHANGED
data/lib/lgtm/plugin.rb
CHANGED
@@ -16,20 +16,21 @@ module Danger
|
|
16
16
|
# @tags lgtm, github
|
17
17
|
#
|
18
18
|
class DangerLgtm < Plugin
|
19
|
-
RANDOM_LGTM_POST_URL = '
|
19
|
+
RANDOM_LGTM_POST_URL = 'https://lgtm.in/g'.freeze
|
20
20
|
|
21
21
|
# Check status report, say lgtm if no violations
|
22
|
-
# Generates a `markdown` of a lgtm
|
22
|
+
# Generates a `markdown` of a lgtm image.
|
23
23
|
#
|
24
24
|
# @param [image_url] lgtm image url
|
25
|
+
# @param [https_image_only] fetching https image only if true
|
25
26
|
#
|
26
27
|
# @return [void]
|
27
28
|
#
|
28
|
-
def check_lgtm(image_url: nil)
|
29
|
+
def check_lgtm(image_url: nil, https_image_only: false)
|
29
30
|
return unless status_report[:errors].length.zero? &&
|
30
31
|
status_report[:warnings].length.zero?
|
31
32
|
|
32
|
-
image_url ||= fetch_image_url
|
33
|
+
image_url ||= fetch_image_url(https_image_only: https_image_only)
|
33
34
|
|
34
35
|
markdown(
|
35
36
|
markdown_template(image_url)
|
@@ -38,7 +39,7 @@ module Danger
|
|
38
39
|
|
39
40
|
private
|
40
41
|
|
41
|
-
def fetch_image_url
|
42
|
+
def fetch_image_url(https_image_only: false)
|
42
43
|
lgtm_post_url = process_request(RANDOM_LGTM_POST_URL)['location']
|
43
44
|
|
44
45
|
lgtm_post_response = process_request(lgtm_post_url) do |req|
|
@@ -47,7 +48,11 @@ module Danger
|
|
47
48
|
|
48
49
|
lgtm_post = JSON.parse(lgtm_post_response.body)
|
49
50
|
|
50
|
-
lgtm_post['actualImageUrl']
|
51
|
+
url = lgtm_post['actualImageUrl']
|
52
|
+
if https_image_only && URI.parse(url).scheme != 'https'
|
53
|
+
return fetch_image_url(https_image_only: true)
|
54
|
+
end
|
55
|
+
url
|
51
56
|
end
|
52
57
|
|
53
58
|
def process_request(url)
|
@@ -57,7 +62,9 @@ module Danger
|
|
57
62
|
|
58
63
|
yield req if block_given?
|
59
64
|
|
60
|
-
Net::HTTP.start(uri.hostname, uri.port)
|
65
|
+
Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
|
66
|
+
http.request(req)
|
67
|
+
end
|
61
68
|
end
|
62
69
|
|
63
70
|
def markdown_template(image_url)
|
data/spec/lgtm_spec.rb
CHANGED
@@ -25,14 +25,17 @@ module Danger
|
|
25
25
|
expect(@dangerfile.status_report[:markdowns].length).to eq(1)
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
def mock(request_url: 'https://lgtm.in/p/sSuI4hm0q',
|
29
|
+
actual_image_url: 'https://example.com/image.jpg')
|
30
|
+
double(
|
31
|
+
:[] => request_url,
|
31
32
|
body: JSON.generate(
|
32
|
-
actualImageUrl:
|
33
|
+
actualImageUrl: actual_image_url
|
33
34
|
)
|
34
35
|
)
|
36
|
+
end
|
35
37
|
|
38
|
+
it 'pick random pic from lgtm.in' do
|
36
39
|
allow(Net::HTTP).to receive(:start).and_return(mock)
|
37
40
|
|
38
41
|
@lgtm.check_lgtm
|
@@ -41,6 +44,15 @@ module Danger
|
|
41
44
|
.to match(%r{https:\/\/example.com\/image.jpg})
|
42
45
|
end
|
43
46
|
|
47
|
+
it 'pick random pic from lgtm.in with https_image_only option' do
|
48
|
+
allow(Net::HTTP).to receive(:start).and_return(mock)
|
49
|
+
|
50
|
+
@lgtm.check_lgtm https_image_only: true
|
51
|
+
|
52
|
+
expect(@dangerfile.status_report[:markdowns][0].message)
|
53
|
+
.to match(%r{https:\/\/example.com\/image.jpg})
|
54
|
+
end
|
55
|
+
|
44
56
|
it 'use given url' do
|
45
57
|
@lgtm.check_lgtm image_url: 'http://imgur.com/Irk2wyX.jpg'
|
46
58
|
expect(@dangerfile.status_report[:markdowns][0].message)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-lgtm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- leonhartX
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: danger-plugin-api
|
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: '0'
|
194
194
|
requirements: []
|
195
195
|
rubyforge_project:
|
196
|
-
rubygems_version: 2.
|
196
|
+
rubygems_version: 2.5.1
|
197
197
|
signing_key:
|
198
198
|
specification_version: 4
|
199
199
|
summary: Danger Plugin used to post LGTM iamge when there is no violations
|