danger-lgtm 0.2.0 → 1.0.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
- 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
|