lazylead 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|