lazylead 0.8.1 → 0.8.2
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/.rubocop.yml +1 -0
- data/lazylead.gemspec +7 -6
- data/lib/lazylead/cc.rb +16 -22
- data/lib/lazylead/model.rb +5 -7
- data/lib/lazylead/system/jira.rb +1 -0
- data/lib/lazylead/task/accuracy/accuracy.rb +5 -7
- data/lib/lazylead/task/accuracy/onlyll.rb +5 -7
- data/{Guardfile → lib/lazylead/task/accuracy/screenshots.rb} +25 -7
- data/lib/lazylead/task/svn/diff.rb +27 -5
- data/lib/lazylead/version.rb +1 -1
- data/test/lazylead/task/accuracy/screenshots_test.rb +84 -0
- data/test/lazylead/task/svn/diff_test.rb +7 -3
- data/test/test.rb +12 -0
- metadata +28 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fde968b00a6b6868ea644d731c54d23d08f365b133926fa2cf13699e982a0802
|
4
|
+
data.tar.gz: 3340adabd89a6699cf0ba2fdc723ccc9e372d505b8b14b81cd7eef6c816c7fdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecbf953aa53ae51b6ed4cc056794f3b8eb9e693d07cc3262070a95592546f9d45797f4ebdf4bbbacc650ad369033e9fd433e6d1975fd3f37688f5c7c3c321ee9
|
7
|
+
data.tar.gz: f2dae8c55b5b98ddca9fe769a007eb4ea40d6c2b52675fa47911bc924d9ad7b56453f1a4c3705275f2ba2840d9d662ffde58bd92c179ea2af5a2da5baf1b3156
|
data/.rubocop.yml
CHANGED
data/lazylead.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.rubygems_version = "2.2"
|
33
33
|
s.required_ruby_version = ">=2.6.5"
|
34
34
|
s.name = "lazylead"
|
35
|
-
s.version = "0.8.
|
35
|
+
s.version = "0.8.2"
|
36
36
|
s.license = "MIT"
|
37
37
|
s.summary = "Eliminate the annoying work within bug-trackers."
|
38
38
|
s.description = "Ticketing systems (Github, Jira, etc.) are strongly
|
@@ -45,7 +45,7 @@ tasks instead of solving technical problems."
|
|
45
45
|
s.authors = ["Yurii Dubinka"]
|
46
46
|
s.email = "yurii.dubinka@gmail.com"
|
47
47
|
s.homepage = "http://github.com/dgroup/lazylead"
|
48
|
-
s.post_install_message = "Thanks for installing Lazylead v0.8.
|
48
|
+
s.post_install_message = "Thanks for installing Lazylead v0.8.2!
|
49
49
|
Read our blog posts: https://lazylead.org
|
50
50
|
Stay in touch with the community in Telegram: https://t.me/lazylead
|
51
51
|
Follow us on Twitter: https://twitter.com/lazylead
|
@@ -69,6 +69,7 @@ tasks instead of solving technical problems."
|
|
69
69
|
s.add_runtime_dependency "openssl", "2.1.2"
|
70
70
|
s.add_runtime_dependency "railties", "6.1.3"
|
71
71
|
s.add_runtime_dependency "require_all", "3.0.0"
|
72
|
+
s.add_runtime_dependency "rubyzip", "2.3.0"
|
72
73
|
s.add_runtime_dependency "rufus-scheduler", "3.7.0"
|
73
74
|
s.add_runtime_dependency "slop", "4.8.2"
|
74
75
|
s.add_runtime_dependency "sqlite3", "1.4.2"
|
@@ -89,12 +90,12 @@ tasks instead of solving technical problems."
|
|
89
90
|
s.add_development_dependency "rake", "13.0.3"
|
90
91
|
s.add_development_dependency "random-port", "0.5.1"
|
91
92
|
s.add_development_dependency "rdoc", "6.3.0"
|
92
|
-
s.add_development_dependency "rubocop", "1.
|
93
|
-
s.add_development_dependency "rubocop-minitest", "0.
|
94
|
-
s.add_development_dependency "rubocop-performance", "1.10.
|
93
|
+
s.add_development_dependency "rubocop", "1.12.0"
|
94
|
+
s.add_development_dependency "rubocop-minitest", "0.11.0"
|
95
|
+
s.add_development_dependency "rubocop-performance", "1.10.2"
|
95
96
|
s.add_development_dependency "rubocop-rake", "0.5.1"
|
96
97
|
s.add_development_dependency "rubocop-rspec", "2.2.0"
|
97
|
-
s.add_development_dependency "sqlint", "0.
|
98
|
+
s.add_development_dependency "sqlint", "0.2.0"
|
98
99
|
s.add_development_dependency "tempfile", "0.1.1"
|
99
100
|
s.add_development_dependency "xcop", "0.6.2"
|
100
101
|
end
|
data/lib/lazylead/cc.rb
CHANGED
@@ -80,13 +80,11 @@ module Lazylead
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def cc
|
83
|
-
@cc ||=
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
end
|
89
|
-
end
|
83
|
+
@cc ||= if @text.include? ","
|
84
|
+
@text.split(",").map(&:strip).select { |e| e[@regxp] }
|
85
|
+
elsif @text[@regxp]
|
86
|
+
[@text.strip]
|
87
|
+
end
|
90
88
|
end
|
91
89
|
|
92
90
|
def each(&block)
|
@@ -125,15 +123,13 @@ module Lazylead
|
|
125
123
|
end
|
126
124
|
|
127
125
|
def to_h
|
128
|
-
@to_h ||=
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
end
|
136
|
-
end
|
126
|
+
@to_h ||= if @orig.is_a? Hash
|
127
|
+
@orig.each_with_object({}) do |i, o|
|
128
|
+
o[i.first] = Lazylead::PlainCC.new(i.last).cc
|
129
|
+
end
|
130
|
+
else
|
131
|
+
{}
|
132
|
+
end
|
137
133
|
end
|
138
134
|
end
|
139
135
|
|
@@ -151,12 +147,10 @@ module Lazylead
|
|
151
147
|
end
|
152
148
|
|
153
149
|
def to_h
|
154
|
-
@to_h ||=
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
h[c.attrs["name"]] = email
|
159
|
-
end
|
150
|
+
@to_h ||= components.each_with_object({}) do |c, h|
|
151
|
+
email = lead(c.attrs["id"])
|
152
|
+
next if email.nil? || email.blank?
|
153
|
+
h[c.attrs["name"]] = email
|
160
154
|
end
|
161
155
|
end
|
162
156
|
|
data/lib/lazylead/model.rb
CHANGED
@@ -135,13 +135,11 @@ module Lazylead
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def props
|
138
|
-
@props ||=
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
end
|
144
|
-
end
|
138
|
+
@props ||= if team.nil?
|
139
|
+
Opts.new(env(to_hash))
|
140
|
+
else
|
141
|
+
Opts.new(env(team.to_hash.merge(to_hash)))
|
142
|
+
end
|
145
143
|
end
|
146
144
|
|
147
145
|
def postman
|
data/lib/lazylead/system/jira.rb
CHANGED
@@ -118,13 +118,11 @@ module Lazylead
|
|
118
118
|
end
|
119
119
|
|
120
120
|
def colors
|
121
|
-
@colors ||=
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
.sort_by { |e| e[0] }
|
127
|
-
end
|
121
|
+
@colors ||= JSON.parse(@opts["colors"])
|
122
|
+
.to_h
|
123
|
+
.to_a
|
124
|
+
.each { |e| e[0] = e[0].to_i }
|
125
|
+
.sort_by { |e| e[0] }
|
128
126
|
end
|
129
127
|
|
130
128
|
# Calculate grade for accuracy
|
@@ -94,13 +94,11 @@ module Lazylead
|
|
94
94
|
|
95
95
|
# Detect the percentage grid for tickets, by default its 0%, 10%, 20%, etc.
|
96
96
|
def grid
|
97
|
-
@grid ||=
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
end
|
103
|
-
end
|
97
|
+
@grid ||= if @opts.key? "grid"
|
98
|
+
@opts.slice("grid", ",")
|
99
|
+
else
|
100
|
+
%w[0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%]
|
101
|
+
end
|
104
102
|
end
|
105
103
|
|
106
104
|
# Remove score labels from the ticket.
|
@@ -22,12 +22,30 @@
|
|
22
22
|
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
23
23
|
# OR OTHER DEALINGS IN THE SOFTWARE.
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
require_relative "requirement"
|
26
|
+
|
27
|
+
module Lazylead
|
28
|
+
#
|
29
|
+
# Check that ticket has screenshot(s).
|
30
|
+
# The screenshots should
|
31
|
+
# 1. present as attachments
|
32
|
+
# 2. mentioned in description with !<name>.<extension>|thumbnail! (read more https://bit.ly/3rusNgW)
|
33
|
+
#
|
34
|
+
class Screenshots < Lazylead::Requirement
|
35
|
+
# @param minimum The number of expected screenshots
|
36
|
+
def initialize(minimum: 2, score: 2, ext: %w[.jpg .jpeg .exif .tiff .tff .bmp .png .svg])
|
37
|
+
super "Screenshots", score, "Description,Attachments"
|
38
|
+
@minimum = minimum
|
39
|
+
@ext = ext
|
40
|
+
end
|
41
|
+
|
42
|
+
def passed(issue)
|
43
|
+
return false if issue.attachments.nil? || blank?(issue, "description")
|
44
|
+
regexps = issue.attachments
|
45
|
+
.select { |a| @ext.include? File.extname(a.filename) }
|
46
|
+
.map { |a| /!#{a.filename}\|thumbnail!/ }
|
47
|
+
return false if regexps.size < @minimum
|
48
|
+
regexps.all? { |r| issue.description.match? r }
|
49
|
+
end
|
32
50
|
end
|
33
51
|
end
|
@@ -22,6 +22,7 @@
|
|
22
22
|
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
23
23
|
# OR OTHER DEALINGS IN THE SOFTWARE.
|
24
24
|
|
25
|
+
require "zip"
|
25
26
|
require "tempfile"
|
26
27
|
require "nokogiri"
|
27
28
|
require "backtrace"
|
@@ -58,19 +59,40 @@ module Lazylead
|
|
58
59
|
def send_email(postman, opts)
|
59
60
|
Dir.mktmpdir do |dir|
|
60
61
|
name = "svn-log-#{Date.today.strftime('%d-%b-%Y')}.html"
|
61
|
-
f = File.open(File.join(dir, name), "w")
|
62
62
|
begin
|
63
|
-
|
64
|
-
|
65
|
-
postman.send opts.merge(attachments: [f.path])
|
63
|
+
to_f(File.join(dir, name), opts)
|
64
|
+
postman.send opts.merge(attachments: [File.join(dir, name)])
|
66
65
|
ensure
|
67
|
-
|
66
|
+
FileUtils.rm_rf("#{dir}/*")
|
68
67
|
end
|
69
68
|
rescue StandardError => e
|
70
69
|
@log.error "ll-010: Can't send an email '#{opts['subject']}' to #{opts['to']} due to " \
|
71
70
|
"#{Backtrace.new(e)}'"
|
72
71
|
end
|
73
72
|
end
|
73
|
+
|
74
|
+
# Wrap attachment content to a *.zip file and archive.
|
75
|
+
# to_f('my-content.html', opts) => my-content.html.zip
|
76
|
+
#
|
77
|
+
# You may disable archiving option by passing option *no_archive*
|
78
|
+
# to_f('my-content.html', "no_archive" => true)
|
79
|
+
def to_f(path, opts)
|
80
|
+
if opts.key? "no_archive"
|
81
|
+
f = File.open(path, "w")
|
82
|
+
body = opts.msg_body("template-attachment")
|
83
|
+
else
|
84
|
+
f = File.new("#{path}.zip", "wb")
|
85
|
+
bytes = Zip::OutputStream.write_buffer do |zio|
|
86
|
+
zio.put_next_entry(File.basename(path))
|
87
|
+
zio.write opts.msg_body("template-attachment")
|
88
|
+
end
|
89
|
+
bytes.rewind # reposition buffer pointer to the beginning
|
90
|
+
body = bytes.sysread
|
91
|
+
end
|
92
|
+
f.write body
|
93
|
+
f.close
|
94
|
+
f
|
95
|
+
end
|
74
96
|
end
|
75
97
|
end
|
76
98
|
end
|
data/lib/lazylead/version.rb
CHANGED
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The MIT License
|
4
|
+
#
|
5
|
+
# Copyright (c) 2019-2021 Yurii Dubinka
|
6
|
+
#
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
# of this software and associated documentation files (the "Software"),
|
9
|
+
# to deal in the Software without restriction, including without limitation
|
10
|
+
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
11
|
+
# and/or sell copies of the Software, and to permit persons to whom
|
12
|
+
# the Software is furnished to do so, subject to the following conditions:
|
13
|
+
#
|
14
|
+
# The above copyright notice and this permission notice shall be included
|
15
|
+
# in all copies or substantial portions of the Software.
|
16
|
+
#
|
17
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
22
|
+
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
23
|
+
# OR OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
|
25
|
+
require_relative "../../../test"
|
26
|
+
require_relative "../../../../lib/lazylead/task/accuracy/screenshots"
|
27
|
+
require_relative "../../../../lib/lazylead/system/jira"
|
28
|
+
|
29
|
+
module Lazylead
|
30
|
+
class ScreenshotsTest < Lazylead::Test
|
31
|
+
test "issue has two .png files with reference in description" do
|
32
|
+
assert Screenshots.new.passed(
|
33
|
+
OpenStruct.new(
|
34
|
+
description: "Hi,\n here are snapshots !img1.jpg|thumbnail!\n!img2.jpg|thumbnail!\n",
|
35
|
+
fields: {
|
36
|
+
"description" => "Hi,\n here are snapshots !img1.jpg|thumbnail!\n!img2.jpg|thumbnail!\n"
|
37
|
+
},
|
38
|
+
attachments: [
|
39
|
+
OpenStruct.new("filename" => "img1.jpg"),
|
40
|
+
OpenStruct.new("filename" => "img2.jpg")
|
41
|
+
]
|
42
|
+
)
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
test "issue has several .png attachments mentioned using !xxx|thumbnail! option" do
|
47
|
+
assert Screenshots.new.passed(
|
48
|
+
NoAuthJira.new("https://jira.spring.io")
|
49
|
+
.issues("key=SPR-15729", fields: %w[attachment description])
|
50
|
+
.first
|
51
|
+
)
|
52
|
+
end
|
53
|
+
|
54
|
+
test "issue has only one .png file however minimum 2 are required" do
|
55
|
+
refute Screenshots.new.passed(
|
56
|
+
OpenStruct.new(
|
57
|
+
description: "Hi,\n here are snapshots !img1.jpg|thumbnail!\n",
|
58
|
+
fields: {
|
59
|
+
"description" => "Hi,\n here are snapshots !img1.jpg|thumbnail!\n"
|
60
|
+
},
|
61
|
+
attachments: [
|
62
|
+
OpenStruct.new("filename" => "img1.jpg"),
|
63
|
+
OpenStruct.new("filename" => "img2.jpg")
|
64
|
+
]
|
65
|
+
)
|
66
|
+
)
|
67
|
+
end
|
68
|
+
|
69
|
+
test "issue has two .png files with reference in description but with extension mismatch" do
|
70
|
+
refute Screenshots.new.passed(
|
71
|
+
OpenStruct.new(
|
72
|
+
description: "Hi,\n here are snapshots !img1.jpg|thumbnail!\n!img2.jpg|thumbnail!\n",
|
73
|
+
fields: {
|
74
|
+
"description" => "Hi,\n here are snapshots !img1.jpg|thumbnail!\n!img2.jpg|thumbnail!\n"
|
75
|
+
},
|
76
|
+
attachments: [
|
77
|
+
OpenStruct.new("filename" => "img1.JPG"),
|
78
|
+
OpenStruct.new("filename" => "img2.jpg")
|
79
|
+
]
|
80
|
+
)
|
81
|
+
)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -31,6 +31,10 @@ require_relative "../../../../lib/lazylead/task/svn/diff"
|
|
31
31
|
|
32
32
|
module Lazylead
|
33
33
|
class DiffTest < Lazylead::Test
|
34
|
+
# @todo #/DEV Right now its impossible to check that attachment is present in email as we
|
35
|
+
# removing the directory with attachments once SVN::Diff is sent the email through the postman.
|
36
|
+
# Think about how to test this case in automatically, because for now we are doing it manually
|
37
|
+
# during the development.
|
34
38
|
test "changes since revision" do
|
35
39
|
skip "No svn credentials provided" unless env? "svn_log_user",
|
36
40
|
"svn_log_password"
|
@@ -53,8 +57,8 @@ module Lazylead
|
|
53
57
|
"template-attachment" => "lib/messages/svn_diff_attachment.erb"
|
54
58
|
)
|
55
59
|
)
|
56
|
-
assert_email_line "[SVN] Changed since rev1",
|
57
|
-
|
60
|
+
assert_email_line "[SVN] Changed since rev1", %w[r2 by dgroup at 2020-08-16]
|
61
|
+
# assert_attachment "[SVN] Changed since rev1", /^.*svn-log-.*.html.zip$/
|
58
62
|
end
|
59
63
|
|
60
64
|
test "changes since revision with attachment" do
|
@@ -68,7 +72,7 @@ module Lazylead
|
|
68
72
|
"LL_SMTP_TO",
|
69
73
|
"LL_SMTP_FROM"
|
70
74
|
Lazylead::Smtp.new(
|
71
|
-
Log.new,
|
75
|
+
Log.new.verbose,
|
72
76
|
NoSalt.new,
|
73
77
|
smtp_host: ENV["LL_SMTP_HOST"],
|
74
78
|
smtp_port: ENV["LL_SMTP_PORT"],
|
data/test/test.rb
CHANGED
@@ -126,6 +126,18 @@ module Lazylead
|
|
126
126
|
"Words '#{words.join(',')}' wasn't found in '#{mail.join('\n')}'"
|
127
127
|
end
|
128
128
|
|
129
|
+
def assert_attachment(subject, regexp)
|
130
|
+
parts = Mail::TestMailer.deliveries
|
131
|
+
.find { |m| m.subject.eql? subject }
|
132
|
+
.body.parts.parts
|
133
|
+
.select do |p|
|
134
|
+
p.header.fields.any? { |f| f.value.start_with? "attachment" }
|
135
|
+
end
|
136
|
+
refute_empty parts, "No attachments found within the email"
|
137
|
+
assert parts.first.header.fields.any? { |f| f.value.match regexp },
|
138
|
+
"No attachments found matches to '#{regexp}' in #{subject}"
|
139
|
+
end
|
140
|
+
|
129
141
|
# Ping remote host
|
130
142
|
# https://github.com/eitoball/net-ping
|
131
143
|
# https://stackoverflow.com/a/35508446/6916890
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazylead
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yurii Dubinka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 3.0.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rubyzip
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 2.3.0
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 2.3.0
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: rufus-scheduler
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -492,42 +506,42 @@ dependencies:
|
|
492
506
|
requirements:
|
493
507
|
- - '='
|
494
508
|
- !ruby/object:Gem::Version
|
495
|
-
version: 1.
|
509
|
+
version: 1.12.0
|
496
510
|
type: :development
|
497
511
|
prerelease: false
|
498
512
|
version_requirements: !ruby/object:Gem::Requirement
|
499
513
|
requirements:
|
500
514
|
- - '='
|
501
515
|
- !ruby/object:Gem::Version
|
502
|
-
version: 1.
|
516
|
+
version: 1.12.0
|
503
517
|
- !ruby/object:Gem::Dependency
|
504
518
|
name: rubocop-minitest
|
505
519
|
requirement: !ruby/object:Gem::Requirement
|
506
520
|
requirements:
|
507
521
|
- - '='
|
508
522
|
- !ruby/object:Gem::Version
|
509
|
-
version: 0.
|
523
|
+
version: 0.11.0
|
510
524
|
type: :development
|
511
525
|
prerelease: false
|
512
526
|
version_requirements: !ruby/object:Gem::Requirement
|
513
527
|
requirements:
|
514
528
|
- - '='
|
515
529
|
- !ruby/object:Gem::Version
|
516
|
-
version: 0.
|
530
|
+
version: 0.11.0
|
517
531
|
- !ruby/object:Gem::Dependency
|
518
532
|
name: rubocop-performance
|
519
533
|
requirement: !ruby/object:Gem::Requirement
|
520
534
|
requirements:
|
521
535
|
- - '='
|
522
536
|
- !ruby/object:Gem::Version
|
523
|
-
version: 1.10.
|
537
|
+
version: 1.10.2
|
524
538
|
type: :development
|
525
539
|
prerelease: false
|
526
540
|
version_requirements: !ruby/object:Gem::Requirement
|
527
541
|
requirements:
|
528
542
|
- - '='
|
529
543
|
- !ruby/object:Gem::Version
|
530
|
-
version: 1.10.
|
544
|
+
version: 1.10.2
|
531
545
|
- !ruby/object:Gem::Dependency
|
532
546
|
name: rubocop-rake
|
533
547
|
requirement: !ruby/object:Gem::Requirement
|
@@ -562,14 +576,14 @@ dependencies:
|
|
562
576
|
requirements:
|
563
577
|
- - '='
|
564
578
|
- !ruby/object:Gem::Version
|
565
|
-
version: 0.
|
579
|
+
version: 0.2.0
|
566
580
|
type: :development
|
567
581
|
prerelease: false
|
568
582
|
version_requirements: !ruby/object:Gem::Requirement
|
569
583
|
requirements:
|
570
584
|
- - '='
|
571
585
|
- !ruby/object:Gem::Version
|
572
|
-
version: 0.
|
586
|
+
version: 0.2.0
|
573
587
|
- !ruby/object:Gem::Dependency
|
574
588
|
name: tempfile
|
575
589
|
requirement: !ruby/object:Gem::Requirement
|
@@ -648,7 +662,6 @@ files:
|
|
648
662
|
- ".simplecov"
|
649
663
|
- CNAME
|
650
664
|
- Gemfile
|
651
|
-
- Guardfile
|
652
665
|
- Rakefile
|
653
666
|
- appveyor.yml
|
654
667
|
- bin/.ruby-version
|
@@ -683,6 +696,7 @@ files:
|
|
683
696
|
- lib/lazylead/task/accuracy/onlyll.rb
|
684
697
|
- lib/lazylead/task/accuracy/records.rb
|
685
698
|
- lib/lazylead/task/accuracy/requirement.rb
|
699
|
+
- lib/lazylead/task/accuracy/screenshots.rb
|
686
700
|
- lib/lazylead/task/accuracy/servers.rb
|
687
701
|
- lib/lazylead/task/accuracy/stacktrace.rb
|
688
702
|
- lib/lazylead/task/accuracy/testcase.rb
|
@@ -738,6 +752,7 @@ files:
|
|
738
752
|
- test/lazylead/task/accuracy/onlyll_test.rb
|
739
753
|
- test/lazylead/task/accuracy/records_test.rb
|
740
754
|
- test/lazylead/task/accuracy/score_test.rb
|
755
|
+
- test/lazylead/task/accuracy/screenshots_test.rb
|
741
756
|
- test/lazylead/task/accuracy/servers_test.rb
|
742
757
|
- test/lazylead/task/accuracy/stacktrace_test.rb
|
743
758
|
- test/lazylead/task/accuracy/testcase_test.rb
|
@@ -768,7 +783,7 @@ licenses:
|
|
768
783
|
- MIT
|
769
784
|
metadata: {}
|
770
785
|
post_install_message: |-
|
771
|
-
Thanks for installing Lazylead v0.8.
|
786
|
+
Thanks for installing Lazylead v0.8.2!
|
772
787
|
Read our blog posts: https://lazylead.org
|
773
788
|
Stay in touch with the community in Telegram: https://t.me/lazylead
|
774
789
|
Follow us on Twitter: https://twitter.com/lazylead
|
@@ -813,6 +828,7 @@ test_files:
|
|
813
828
|
- test/lazylead/task/accuracy/onlyll_test.rb
|
814
829
|
- test/lazylead/task/accuracy/records_test.rb
|
815
830
|
- test/lazylead/task/accuracy/score_test.rb
|
831
|
+
- test/lazylead/task/accuracy/screenshots_test.rb
|
816
832
|
- test/lazylead/task/accuracy/servers_test.rb
|
817
833
|
- test/lazylead/task/accuracy/stacktrace_test.rb
|
818
834
|
- test/lazylead/task/accuracy/testcase_test.rb
|