lazylead 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.0pdd.yml +3 -0
- data/.circleci/config.yml +0 -13
- data/.github/workflows/build.yml +39 -0
- data/.github/workflows/release.yml +15 -0
- data/.rubocop.yml +5 -1
- data/.rultor.yml +2 -2
- data/Gemfile +1 -1
- data/Rakefile +17 -9
- data/bin/lazylead +5 -5
- data/lazylead.gemspec +16 -20
- data/lib/lazylead/allocated.rb +1 -1
- data/lib/lazylead/cc.rb +1 -1
- data/lib/lazylead/cli/app.rb +3 -3
- data/lib/lazylead/confluence.rb +1 -1
- data/lib/lazylead/email.rb +1 -1
- data/lib/lazylead/exchange.rb +3 -3
- data/lib/lazylead/home.rb +2 -2
- data/lib/lazylead/log.rb +1 -1
- data/lib/lazylead/model.rb +2 -2
- data/lib/lazylead/opts.rb +1 -1
- data/lib/lazylead/os.rb +2 -1
- data/lib/lazylead/postman.rb +4 -4
- data/lib/lazylead/requires.rb +1 -1
- data/lib/lazylead/salt.rb +1 -1
- data/lib/lazylead/schedule.rb +1 -1
- data/lib/lazylead/smtp.rb +1 -1
- data/lib/lazylead/system/empty.rb +1 -1
- data/lib/lazylead/system/fake.rb +1 -1
- data/lib/lazylead/system/jira.rb +5 -3
- data/lib/lazylead/system/synced.rb +1 -1
- data/lib/lazylead/task/accuracy/accuracy.rb +3 -3
- data/lib/lazylead/task/accuracy/affected_build.rb +1 -1
- data/lib/lazylead/task/accuracy/attachment.rb +1 -1
- data/lib/lazylead/task/accuracy/environment.rb +1 -1
- data/lib/lazylead/task/accuracy/has_label.rb +1 -1
- data/lib/lazylead/task/accuracy/logs.rb +1 -1
- data/lib/lazylead/task/accuracy/logs_link.rb +1 -1
- data/lib/lazylead/task/accuracy/memes.rb +1 -1
- data/lib/lazylead/task/accuracy/onlyll.rb +1 -1
- data/lib/lazylead/task/accuracy/records.rb +1 -1
- data/lib/lazylead/task/accuracy/records_link.rb +1 -1
- data/lib/lazylead/task/accuracy/required.rb +1 -1
- data/lib/lazylead/task/accuracy/requirement.rb +1 -1
- data/lib/lazylead/task/accuracy/screenshots.rb +1 -1
- data/lib/lazylead/task/accuracy/servers.rb +1 -1
- data/lib/lazylead/task/accuracy/stacktrace.rb +2 -2
- data/lib/lazylead/task/accuracy/testcase.rb +1 -1
- data/lib/lazylead/task/accuracy/wiki.rb +1 -1
- data/lib/lazylead/task/accuracy/wiki_url.rb +1 -1
- data/lib/lazylead/task/alert/alert.rb +1 -1
- data/lib/lazylead/task/alert/alertif.rb +1 -1
- data/lib/lazylead/task/alert/changed_to.rb +1 -1
- data/lib/lazylead/task/assignment.rb +1 -1
- data/lib/lazylead/task/confluence_ref.rb +1 -1
- data/lib/lazylead/task/echo.rb +1 -1
- data/lib/lazylead/task/fix_version.rb +1 -1
- data/lib/lazylead/task/git/git.rb +1 -1
- data/lib/lazylead/task/loading.rb +1 -1
- data/lib/lazylead/task/micromanager.rb +1 -1
- data/lib/lazylead/task/missing_comment.rb +1 -1
- data/lib/lazylead/task/propagate_down.rb +1 -1
- data/lib/lazylead/task/savepoint.rb +1 -1
- data/lib/lazylead/task/svn/diff.rb +1 -1
- data/lib/lazylead/task/svn/grep.rb +1 -1
- data/lib/lazylead/task/svn/svn.rb +1 -1
- data/lib/lazylead/task/svn/touch.rb +42 -14
- data/lib/lazylead/version.rb +2 -2
- data/lib/lazylead.rb +1 -1
- data/license.txt +1 -1
- data/readme.md +14 -12
- data/test/lazylead/allocated_test.rb +1 -1
- data/test/lazylead/cc_test.rb +7 -7
- data/test/lazylead/cli/app_test.rb +1 -1
- data/test/lazylead/confluence_test.rb +1 -1
- data/test/lazylead/exchange_test.rb +10 -10
- data/test/lazylead/file_postman_test.rb +1 -1
- data/test/lazylead/model_test.rb +2 -2
- data/test/lazylead/opts_test.rb +1 -1
- data/test/lazylead/postman_test.rb +7 -7
- data/test/lazylead/retry_test.rb +1 -1
- data/test/lazylead/salt_test.rb +1 -1
- data/test/lazylead/smoke_test.rb +2 -2
- data/test/lazylead/smtp_test.rb +7 -7
- data/test/lazylead/stdout_postman_test.rb +1 -1
- data/test/lazylead/system/jira_test.rb +53 -54
- data/test/lazylead/task/accuracy/accuracy_test.rb +11 -11
- data/test/lazylead/task/accuracy/affected_build_test.rb +1 -1
- data/test/lazylead/task/accuracy/attachment_test.rb +4 -4
- data/test/lazylead/task/accuracy/environment_test.rb +1 -1
- data/test/lazylead/task/accuracy/has_label_test.rb +1 -1
- data/test/lazylead/task/accuracy/logs_link_test.rb +1 -1
- data/test/lazylead/task/accuracy/logs_test.rb +1 -1
- data/test/lazylead/task/accuracy/memes_test.rb +1 -1
- data/test/lazylead/task/accuracy/onlyll_test.rb +21 -21
- data/test/lazylead/task/accuracy/records_llink_test.rb +1 -1
- data/test/lazylead/task/accuracy/records_test.rb +1 -1
- data/test/lazylead/task/accuracy/score_test.rb +4 -4
- data/test/lazylead/task/accuracy/screenshots_test.rb +3 -3
- data/test/lazylead/task/accuracy/servers_test.rb +1 -1
- data/test/lazylead/task/accuracy/stacktrace_test.rb +1 -1
- data/test/lazylead/task/accuracy/testcase_test.rb +1 -1
- data/test/lazylead/task/accuracy/wiki_test.rb +1 -1
- data/test/lazylead/task/accuracy/wiki_url_test.rb +1 -1
- data/test/lazylead/task/alert/alertif_test.rb +5 -5
- data/test/lazylead/task/alert/assignee_alert_test.rb +1 -1
- data/test/lazylead/task/alert/changed_to_test.rb +5 -5
- data/test/lazylead/task/assignment_test.rb +5 -5
- data/test/lazylead/task/confluence_ref_test.rb +8 -8
- data/test/lazylead/task/created_recently_test.rb +4 -4
- data/test/lazylead/task/duedate_test.rb +14 -14
- data/test/lazylead/task/echo_test.rb +1 -1
- data/test/lazylead/task/fix_version_test.rb +6 -5
- data/test/lazylead/task/loading_test.rb +7 -7
- data/test/lazylead/task/micromanager_test.rb +5 -5
- data/test/lazylead/task/missing_comment_test.rb +4 -4
- data/test/lazylead/task/propagate_down_test.rb +1 -1
- data/test/lazylead/task/savepoint_test.rb +1 -1
- data/test/lazylead/task/svn/diff_test.rb +14 -15
- data/test/lazylead/task/svn/grep_test.rb +4 -3
- data/test/lazylead/task/svn/touch_test.rb +74 -6
- data/test/lazylead/version_test.rb +1 -1
- data/test/sqlite_test.rb +1 -1
- data/test/test.rb +10 -3
- metadata +33 -98
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 359acf575a8e7cc8b4e4896446c74390715249ae8f1ed547af526d3300e5b520
|
4
|
+
data.tar.gz: 0c324152b043999546f503aa55f66147e2749106d68ffe61325e6dbabf0256bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18373c1b59c44cc8cd4cfde55fb6ec573851b1f51d78c7e6a5a7d5b6ddd2b3428c86430b3c913923624fa9ba31aff9274c5b4b1c46399ae942e0e1bc61335d59
|
7
|
+
data.tar.gz: 9978b72b3c076526cfc1023b39bfe48476a93cb8d19a3d56077d9c7b9962e54e52de1a873b8df29365764fae02ab391540ffb86c7fd8f59a35e444e3fd82ff1c
|
data/.0pdd.yml
CHANGED
data/.circleci/config.yml
CHANGED
@@ -3,16 +3,6 @@
|
|
3
3
|
# Without this integration the release history won't be clear.
|
4
4
|
version: 2
|
5
5
|
jobs:
|
6
|
-
test:
|
7
|
-
docker:
|
8
|
-
- image: ruby:2.6.5-alpine
|
9
|
-
steps:
|
10
|
-
- checkout
|
11
|
-
- run: |
|
12
|
-
apk add libc-dev gcc make git sqlite sqlite-dev sqlite-libs
|
13
|
-
bundler install
|
14
|
-
- run: rubocop -A
|
15
|
-
- run: bundle exec rake test rubocop sqlint xcop
|
16
6
|
deploy:
|
17
7
|
machine: true
|
18
8
|
steps:
|
@@ -58,11 +48,8 @@ workflows:
|
|
58
48
|
version: 2
|
59
49
|
build_and_test:
|
60
50
|
jobs:
|
61
|
-
- test
|
62
51
|
- deploy:
|
63
52
|
filters:
|
64
53
|
branches:
|
65
54
|
only:
|
66
55
|
- master
|
67
|
-
requires:
|
68
|
-
- test
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
|
6
|
+
# @todo #572/DEV Assemble docker image in GitHub actions in order to replace Circle CI
|
7
|
+
|
8
|
+
# @todo #572/DEV Test docker image in GitHub actions in order to replace Circle CI
|
9
|
+
|
10
|
+
# @todo #572/DEV Publish docker image in GitHub actions in order to replace Circle CI
|
11
|
+
|
12
|
+
# @todo #572/DEV Integrate rultor with GitHub action and push docker image with particular tag
|
13
|
+
name: CI
|
14
|
+
on: push
|
15
|
+
jobs:
|
16
|
+
build:
|
17
|
+
runs-on: ubuntu-latest
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v2
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
|
22
|
+
with:
|
23
|
+
ruby-version: '2.6.5'
|
24
|
+
- uses: actions/cache@v2
|
25
|
+
with:
|
26
|
+
path: vendor/bundle
|
27
|
+
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
28
|
+
restore-keys: |
|
29
|
+
${{ runner.os }}-gems-
|
30
|
+
- name: Bundle install
|
31
|
+
run: |
|
32
|
+
bundle config path vendor/bundle
|
33
|
+
bundle install --jobs 4 --retry 3
|
34
|
+
- name: Install dependencies
|
35
|
+
run: bundle install
|
36
|
+
- name: Run tests
|
37
|
+
env:
|
38
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
39
|
+
run: bundle exec rake -A
|
@@ -0,0 +1,15 @@
|
|
1
|
+
on:
|
2
|
+
release:
|
3
|
+
types: [published, created, prereleased]
|
4
|
+
jobs:
|
5
|
+
build:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
steps:
|
8
|
+
- uses: actions/checkout@v2
|
9
|
+
- name: Notify Telegram group
|
10
|
+
uses: yanzay/notify-telegram@v0.1.0
|
11
|
+
if: always()
|
12
|
+
with:
|
13
|
+
chat: ${{ secrets.TELEGRAM_CHAT }} # user id or channel name secret
|
14
|
+
token: ${{ secrets.TELEGRAM_TOKEN }} # token secret
|
15
|
+
status: ${{ job.status }} # do not modify this line
|
data/.rubocop.yml
CHANGED
@@ -154,6 +154,10 @@ Style/SwapValues: # (new in 1.1)
|
|
154
154
|
Enabled: true
|
155
155
|
Style/HashConversion: # (new in 1.10)
|
156
156
|
Enabled: true
|
157
|
+
Style/RedundantStringEscape: # (new in 1.7)
|
158
|
+
Enabled: true
|
159
|
+
Exclude:
|
160
|
+
- "test/lazylead/task/svn/grep_test.rb"
|
157
161
|
Minitest/AssertInDelta: # (new in 0.10)
|
158
162
|
Enabled: true
|
159
163
|
Minitest/AssertionInLifecycleHook: # (new in 0.10)
|
@@ -210,7 +214,7 @@ Performance/RedundantEqualityComparisonBlock: # (new in 1.10)
|
|
210
214
|
Enabled: true
|
211
215
|
Performance/RedundantSplitRegexpArgument: # (new in 1.10)
|
212
216
|
Enabled: true
|
213
|
-
Gemspec/
|
217
|
+
Gemspec/DeprecatedAttributeAssignment: # (new in 1.10)
|
214
218
|
Enabled: true
|
215
219
|
Gemspec/RequireMFA:
|
216
220
|
Enabled: false
|
data/.rultor.yml
CHANGED
@@ -16,7 +16,7 @@ release:
|
|
16
16
|
sed -i "s/0\.0\.0/${tag}/g" lib/lazylead/version.rb
|
17
17
|
sed -i "s/0\.0\.0/${tag}/g" lazylead.gemspec
|
18
18
|
bundle install --no-color
|
19
|
-
bundle exec rake --trace test rubocop sqlint
|
19
|
+
bundle exec rake --trace test rubocop sqlint
|
20
20
|
git add lib/lazylead/version.rb lazylead.gemspec
|
21
21
|
git commit -m "version set to ${tag}"
|
22
22
|
gem build lazylead.gemspec
|
@@ -28,4 +28,4 @@ merge:
|
|
28
28
|
squash: true
|
29
29
|
script: |-
|
30
30
|
bundle install
|
31
|
-
bundle exec rake test rubocop sqlint
|
31
|
+
bundle exec rake test rubocop sqlint
|
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -46,7 +46,10 @@ def version
|
|
46
46
|
Gem::Specification.load(Dir["*.gemspec"].first).version
|
47
47
|
end
|
48
48
|
|
49
|
-
task default: %i[init_hooks clean rubocop test sqlint
|
49
|
+
task default: %i[init_hooks clean rubocop test sqlint docker]
|
50
|
+
# @todo #/DEV Update copyright to 2023, so far lets disable this task for separate PR
|
51
|
+
|
52
|
+
# task default: %i[init_hooks clean rubocop test sqlint copyright docker]
|
50
53
|
|
51
54
|
task :init_hooks do
|
52
55
|
next if File.file?(".git/hooks/commit-msg")
|
@@ -82,6 +85,8 @@ RuboCop::RakeTask.new(:rubocop) do |task|
|
|
82
85
|
end
|
83
86
|
|
84
87
|
task :copyright do
|
88
|
+
# @todo #/DEV Update copyright to 2022 for sql files as current changes of structure may lead
|
89
|
+
# to manual actions during installation.
|
85
90
|
sh "grep -q -r \"2019-#{Date.today.strftime('%Y')}\" \
|
86
91
|
--include \"*.rb\" \
|
87
92
|
--include \"*.txt\" \
|
@@ -89,13 +94,16 @@ task :copyright do
|
|
89
94
|
."
|
90
95
|
end
|
91
96
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
97
|
+
# @todo #/DEV Enable xcop when xml/html files will be added to the project. So far there is no
|
98
|
+
# profit.
|
99
|
+
#
|
100
|
+
# require "xcop/rake_task"
|
101
|
+
# desc "Validate all XML/XSL/XSD/HTML files for formatting"
|
102
|
+
# Xcop::RakeTask.new :xcop do |task|
|
103
|
+
# task.license = "license.txt"
|
104
|
+
# task.includes = %w[**/*.xml **/*.xsl **/*.xsd **/*.html]
|
105
|
+
# task.excludes = %w[target/**/* coverage/**/* wp/**/* test/resources/*]
|
106
|
+
# end
|
99
107
|
|
100
108
|
# @todo #/DEV Enable rule "Checks SQL against the ANSI syntax" fully.
|
101
109
|
# Right now all violations related to PRAGMA https://www.sqlite.org/pragma.html
|
data/bin/lazylead
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
# The MIT License
|
5
5
|
#
|
6
|
-
# Copyright (c) 2019-
|
6
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
7
7
|
#
|
8
8
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
9
9
|
# of this software and associated documentation files (the "Software"),
|
@@ -91,10 +91,10 @@ cmd = lambda do
|
|
91
91
|
Lazylead::Schedule.new(log: log),
|
92
92
|
Lazylead::Smtp.new(
|
93
93
|
log, Lazylead::Salt.new("smtp_salt"),
|
94
|
-
smtp_host: ENV
|
95
|
-
smtp_port: ENV
|
96
|
-
smtp_user: ENV
|
97
|
-
smtp_pass: ENV
|
94
|
+
smtp_host: ENV.fetch("smtp_host", nil),
|
95
|
+
smtp_port: ENV.fetch("smtp_port", nil),
|
96
|
+
smtp_user: ENV.fetch("smtp_user", nil),
|
97
|
+
smtp_pass: ENV.fetch("smtp_pass", nil)
|
98
98
|
)
|
99
99
|
).run(opts.to_h)
|
100
100
|
return 0
|
data/lazylead.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -28,11 +28,9 @@ lib = File.expand_path("lib", __dir__)
|
|
28
28
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
29
29
|
|
30
30
|
Gem::Specification.new do |s|
|
31
|
-
s.specification_version = 2 if s.respond_to? :specification_version=
|
32
|
-
s.rubygems_version = "2.2"
|
33
31
|
s.required_ruby_version = ">=2.6.5"
|
34
32
|
s.name = "lazylead"
|
35
|
-
s.version = "0.
|
33
|
+
s.version = "0.13.0"
|
36
34
|
s.license = "MIT"
|
37
35
|
s.summary = "Eliminate the annoying work within bug-trackers."
|
38
36
|
s.description = "Ticketing systems (Github, Jira, etc.) are strongly
|
@@ -45,25 +43,24 @@ tasks instead of solving technical problems."
|
|
45
43
|
s.authors = ["Yurii Dubinka"]
|
46
44
|
s.email = "yurii.dubinka@gmail.com"
|
47
45
|
s.homepage = "http://github.com/dgroup/lazylead"
|
48
|
-
s.post_install_message = "Thanks for installing Lazylead v0.
|
46
|
+
s.post_install_message = "Thanks for installing Lazylead v0.13.0!
|
49
47
|
Read our blog posts: https://lazylead.org
|
50
48
|
Stay in touch with the community in Telegram: https://t.me/lazylead
|
51
49
|
Follow us on Twitter: https://twitter.com/lazylead
|
52
50
|
If you have any issues, report to our GitHub repo: https://github.com/dgroup/lazylead"
|
53
51
|
s.files = `git ls-files`.split($RS)
|
54
52
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
55
|
-
s.test_files = s.files.grep(%r{^(test|features)/})
|
56
53
|
s.rdoc_options = ["--charset=UTF-8"]
|
57
54
|
s.extra_rdoc_files = %w[readme.md license.txt]
|
58
55
|
s.add_runtime_dependency "activerecord", "6.1.3"
|
59
56
|
s.add_runtime_dependency "backtrace", "0.3"
|
60
57
|
s.add_runtime_dependency "colorize", "0.8.1"
|
61
|
-
s.add_runtime_dependency "faraday", "2.
|
58
|
+
s.add_runtime_dependency "faraday", "2.3.0"
|
62
59
|
s.add_runtime_dependency "get_process_mem", "0.2.7"
|
63
60
|
s.add_runtime_dependency "inifile", "3.0.0"
|
64
61
|
s.add_runtime_dependency "jira-ruby", "2.2.0"
|
65
|
-
s.add_runtime_dependency "json", "2.6.
|
66
|
-
s.add_runtime_dependency "logging", "2.3.
|
62
|
+
s.add_runtime_dependency "json", "2.6.2"
|
63
|
+
s.add_runtime_dependency "logging", "2.3.1"
|
67
64
|
s.add_runtime_dependency "mail", "2.7.1"
|
68
65
|
s.add_runtime_dependency "memory_profiler", "1.0.0"
|
69
66
|
s.add_runtime_dependency "nokogiri", "1.11.3"
|
@@ -71,20 +68,20 @@ tasks instead of solving technical problems."
|
|
71
68
|
s.add_runtime_dependency "railties", "6.1.3"
|
72
69
|
s.add_runtime_dependency "require_all", "3.0.0"
|
73
70
|
s.add_runtime_dependency "rubyzip", "2.3.2"
|
74
|
-
s.add_runtime_dependency "rufus-scheduler", "3.
|
75
|
-
s.add_runtime_dependency "slop", "4.9.
|
76
|
-
s.add_runtime_dependency "sqlite3", "1.4.
|
71
|
+
s.add_runtime_dependency "rufus-scheduler", "3.9.1"
|
72
|
+
s.add_runtime_dependency "slop", "4.9.2"
|
73
|
+
s.add_runtime_dependency "sqlite3", "1.4.4"
|
77
74
|
s.add_runtime_dependency "tempfile", "0.1.2"
|
78
75
|
s.add_runtime_dependency "tilt", "2.0.10"
|
79
76
|
s.add_runtime_dependency "tzinfo", "2.0.4"
|
80
|
-
s.add_runtime_dependency "tzinfo-data", "1.
|
77
|
+
s.add_runtime_dependency "tzinfo-data", "1.2022.1"
|
81
78
|
s.add_runtime_dependency "vcs4sql", "0.1.1"
|
82
79
|
s.add_runtime_dependency "viewpoint", "1.1.1"
|
83
80
|
s.add_runtime_dependency "zaru", "0.3.0"
|
84
81
|
s.add_development_dependency "codecov", "0.6.0"
|
85
82
|
s.add_development_dependency "guard", "2.18.0"
|
86
83
|
s.add_development_dependency "guard-minitest", "2.4.6"
|
87
|
-
s.add_development_dependency "minitest", "5.
|
84
|
+
s.add_development_dependency "minitest", "5.19.0"
|
88
85
|
s.add_development_dependency "minitest-fail-fast", "0.1.0"
|
89
86
|
s.add_development_dependency "minitest-hooks", "1.5.0"
|
90
87
|
s.add_development_dependency "minitest-reporters", "1.5.0"
|
@@ -92,14 +89,13 @@ tasks instead of solving technical problems."
|
|
92
89
|
s.add_development_dependency "rake", "13.0.6"
|
93
90
|
s.add_development_dependency "random-port", "0.5.1"
|
94
91
|
s.add_development_dependency "rdoc", "6.4.0"
|
95
|
-
s.add_development_dependency "rubocop", "1.
|
96
|
-
s.add_development_dependency "rubocop-minitest", "0.
|
97
|
-
s.add_development_dependency "rubocop-performance", "1.
|
92
|
+
s.add_development_dependency "rubocop", "1.50.2"
|
93
|
+
s.add_development_dependency "rubocop-minitest", "0.20.1"
|
94
|
+
s.add_development_dependency "rubocop-performance", "1.16.0"
|
98
95
|
s.add_development_dependency "rubocop-rake", "0.6.0"
|
99
|
-
s.add_development_dependency "rubocop-rspec", "2.
|
96
|
+
s.add_development_dependency "rubocop-rspec", "2.11.1"
|
100
97
|
s.add_development_dependency "ruby-prof", "1.4.3"
|
101
|
-
s.add_development_dependency "sqlint", "0.2.
|
98
|
+
s.add_development_dependency "sqlint", "0.2.1"
|
102
99
|
s.add_development_dependency "tempfile", "0.1.2"
|
103
|
-
s.add_development_dependency "xcop", "0.6.3"
|
104
100
|
s.metadata = { "rubygems_mfa_required" => "false" }
|
105
101
|
end
|
data/lib/lazylead/allocated.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/cc.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/cli/app.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -59,7 +59,7 @@ module Lazylead
|
|
59
59
|
def apply_vcs_migration(opts)
|
60
60
|
@db = "#{File.expand_path(opts[:home])}/#{opts[:sqlite]}"
|
61
61
|
vcs = "#{File.expand_path(opts[:home])}/#{opts[:vcs4sql]}"
|
62
|
-
@log.debug "Database: '#{@db.colorize(:light_blue)}', "\
|
62
|
+
@log.debug "Database: '#{@db.colorize(:light_blue)}', " \
|
63
63
|
"sql migration dir: '#{vcs.colorize(:light_blue)}'"
|
64
64
|
Vcs4sql::Sqlite::Migration.new(@db).upgrade vcs, opts[:testdata]
|
65
65
|
@log.debug "Migration applied to '#{@db.colorize(:light_blue)}' from " \
|
@@ -70,7 +70,7 @@ module Lazylead
|
|
70
70
|
ActiveRecord::Base.establish_connection(
|
71
71
|
adapter: "sqlite3",
|
72
72
|
database: @db,
|
73
|
-
pool: opts[:max_connections] || ENV
|
73
|
+
pool: opts[:max_connections] || ENV.fetch("MT_CPU", nil)
|
74
74
|
)
|
75
75
|
@log.debug "Database connection established"
|
76
76
|
end
|
data/lib/lazylead/confluence.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/email.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/exchange.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -51,8 +51,8 @@ module Lazylead
|
|
51
51
|
# :opts :: the mail configuration like from, cc, subject, template.
|
52
52
|
def send(opts)
|
53
53
|
if opts.msg_to.empty?
|
54
|
-
@log.warn "ll-012: Email can't be sent to '#{opts.msg_to}," \
|
55
|
-
"
|
54
|
+
@log.warn "ll-012: Email can't be sent to '#{opts.msg_to}, " \
|
55
|
+
"more: '#{opts}'"
|
56
56
|
else
|
57
57
|
msg = make_msg opts
|
58
58
|
cli.send_message msg
|
data/lib/lazylead/home.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -32,7 +32,7 @@ module Lazylead
|
|
32
32
|
# License:: MIT
|
33
33
|
class Home
|
34
34
|
def dir
|
35
|
-
ENV["LL_HOME"].nil? ? Dir.pwd : ENV
|
35
|
+
ENV["LL_HOME"].nil? ? Dir.pwd : ENV.fetch("LL_HOME", nil)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/lazylead/log.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/model.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -68,7 +68,7 @@ module Lazylead
|
|
68
68
|
opts.each_with_object({}) do |e, o|
|
69
69
|
k = e[0]
|
70
70
|
v = e[1]
|
71
|
-
v = ENV
|
71
|
+
v = ENV.fetch(v.slice(2, v.length - 3), nil) if v.respond_to?(:start_with?) && v.start_with?("${")
|
72
72
|
o[k] = v
|
73
73
|
end
|
74
74
|
end
|
data/lib/lazylead/opts.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/os.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -45,6 +45,7 @@ module Lazylead
|
|
45
45
|
# Please note, that this is not a raw stdout.
|
46
46
|
# The output will be modified by String#scrub! in order to avoid invalid byte sequence
|
47
47
|
# in UTF-8 (https://stackoverflow.com/a/24037885/6916890).
|
48
|
+
# @todo #/DEV Add support of multiline string literals, not just array of commands
|
48
49
|
def run(*cmd)
|
49
50
|
return "" if cmd.empty? || cmd.any?(&:nil?)
|
50
51
|
todo = cmd
|
data/lib/lazylead/postman.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -54,8 +54,8 @@ module Lazylead
|
|
54
54
|
# :opts :: the mail configuration like to, from, cc, subject, template.
|
55
55
|
def send(opts)
|
56
56
|
if opts.msg_to.empty?
|
57
|
-
@log.warn "ll-013: Email can't be sent to '#{opts.msg_to}," \
|
58
|
-
"
|
57
|
+
@log.warn "ll-013: Email can't be sent to '#{opts.msg_to}, " \
|
58
|
+
"more: '#{opts}'"
|
59
59
|
else
|
60
60
|
mail = make_email(opts)
|
61
61
|
mail.deliver
|
@@ -133,7 +133,7 @@ module Lazylead
|
|
133
133
|
# Assemble file name where email to be print
|
134
134
|
def filename(opts)
|
135
135
|
dir = @env.fetch("file_postman_dir", ".")
|
136
|
-
FileUtils.mkdir_p(dir)
|
136
|
+
FileUtils.mkdir_p(dir)
|
137
137
|
File.join(dir, Zaru.sanitize!("#{Time.now.nsec}-#{opts['subject']}.html"))
|
138
138
|
end
|
139
139
|
end
|
data/lib/lazylead/requires.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/salt.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/schedule.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/smtp.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/system/fake.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
data/lib/lazylead/system/jira.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -47,8 +47,8 @@ module Lazylead
|
|
47
47
|
@salt = salt
|
48
48
|
@log = log
|
49
49
|
@log.debug "Initiate a Jira client using following opts: " \
|
50
|
-
"#{@opts.except 'password', :password}
|
51
|
-
"
|
50
|
+
"#{@opts.except 'password', :password} " \
|
51
|
+
"and salt #{@salt.id} (found=#{@salt.specified?})"
|
52
52
|
end
|
53
53
|
|
54
54
|
# Find the jira issues by 'JQL'
|
@@ -132,6 +132,8 @@ module Lazylead
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def email
|
135
|
+
return @usr["emailAddress"] unless @usr["emailAddress"].nil?
|
136
|
+
return id if id.include?("@")
|
135
137
|
@usr["emailAddress"]
|
136
138
|
end
|
137
139
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|
@@ -98,8 +98,8 @@ module Lazylead
|
|
98
98
|
comment = [
|
99
99
|
"Hi [~#{reporter}],",
|
100
100
|
"",
|
101
|
-
"The triage accuracy is '{color:#{color}}#{@score}{color}'" \
|
102
|
-
"
|
101
|
+
"The triage accuracy is '{color:#{color}}#{@score}{color}' " \
|
102
|
+
"(~{color:#{color}}#{@accuracy}%{color}), here are the reasons why:",
|
103
103
|
"|| Ticket requirement || Status || Field ||"
|
104
104
|
]
|
105
105
|
@opts[:rules].each do |r|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License
|
4
4
|
#
|
5
|
-
# Copyright (c) 2019-
|
5
|
+
# Copyright (c) 2019-2022 Yurii Dubinka
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"),
|