lazylead 0.1.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 +7 -0
- data/ .dockerignore +12 -0
- data/.0pdd.yml +5 -0
- data/.circleci/config.yml +50 -0
- data/.circleci/release_image.sh +13 -0
- data/.circleci/validate.sh +10 -0
- data/.docker/Dockerfile +31 -0
- data/.docker/build.sh +6 -0
- data/.docker/docker-compose.yml +23 -0
- data/.docker/readme.md +21 -0
- data/.gitattributes +9 -0
- data/.github/CODE_OF_CONDUCT.md +76 -0
- data/.github/CONTRIBUTING.md +9 -0
- data/.github/ISSUE_TEMPLATE.md +14 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +11 -0
- data/.github/tasks.yml +24 -0
- data/.github/trello.md +18 -0
- data/.gitignore +12 -0
- data/.pdd +5 -0
- data/.rubocop.yml +87 -0
- data/.ruby-version +1 -0
- data/.rultor.yml +31 -0
- data/.simplecov +16 -0
- data/.travis.yml +16 -0
- data/Gemfile +27 -0
- data/Guardfile +33 -0
- data/Rakefile +93 -0
- data/appveyor.yml +50 -0
- data/bin/.ruby-version +1 -0
- data/bin/lazylead +99 -0
- data/build.sh +6 -0
- data/deploy.sh +16 -0
- data/lazylead.gemspec +106 -0
- data/lib/lazylead.rb +52 -0
- data/lib/lazylead/allocated.rb +56 -0
- data/lib/lazylead/cli/app.rb +87 -0
- data/lib/lazylead/confluence.rb +157 -0
- data/lib/lazylead/email.rb +74 -0
- data/lib/lazylead/exchange.rb +83 -0
- data/lib/lazylead/log.rb +71 -0
- data/lib/lazylead/model.rb +140 -0
- data/lib/lazylead/postman.rb +78 -0
- data/lib/lazylead/salt.rb +91 -0
- data/lib/lazylead/schedule.rb +88 -0
- data/lib/lazylead/smtp.rb +82 -0
- data/lib/lazylead/system/empty.rb +36 -0
- data/lib/lazylead/system/fake.rb +41 -0
- data/lib/lazylead/system/jira.rb +249 -0
- data/lib/lazylead/system/synced.rb +41 -0
- data/lib/lazylead/task/alert.rb +105 -0
- data/lib/lazylead/task/confluence_ref.rb +59 -0
- data/lib/lazylead/task/echo.rb +38 -0
- data/lib/lazylead/task/fix_version.rb +79 -0
- data/lib/lazylead/task/missing_comment.rb +53 -0
- data/lib/lazylead/version.rb +27 -0
- data/lib/messages/due_date_expired.erb +96 -0
- data/lib/messages/illegal_fixversion_change.erb +120 -0
- data/lib/messages/missing_comment.erb +128 -0
- data/license.txt +21 -0
- data/readme.md +160 -0
- data/test/lazylead/allocated_test.rb +51 -0
- data/test/lazylead/cli/app_test.rb +74 -0
- data/test/lazylead/confluence_test.rb +55 -0
- data/test/lazylead/exchange_test.rb +68 -0
- data/test/lazylead/model_test.rb +65 -0
- data/test/lazylead/salt_test.rb +42 -0
- data/test/lazylead/smoke_test.rb +38 -0
- data/test/lazylead/smtp_test.rb +65 -0
- data/test/lazylead/system/jira_test.rb +110 -0
- data/test/lazylead/task/confluence_ref_test.rb +66 -0
- data/test/lazylead/task/duedate_test.rb +126 -0
- data/test/lazylead/task/echo_test.rb +34 -0
- data/test/lazylead/task/fix_version_test.rb +52 -0
- data/test/lazylead/task/missing_comment_test.rb +56 -0
- data/test/lazylead/version_test.rb +36 -0
- data/test/sqlite_test.rb +80 -0
- data/test/test.rb +103 -0
- data/todo.yml +16 -0
- data/upgrades/sqlite/001-install-main-lazylead-tables.sql +63 -0
- data/upgrades/sqlite/999.testdata.sql +39 -0
- metadata +815 -0
data/test/test.rb
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The MIT License
|
4
|
+
#
|
5
|
+
# Copyright (c) 2019-2020 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
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
26
|
+
|
27
|
+
require "simplecov"
|
28
|
+
SimpleCov.start
|
29
|
+
if ENV["CI"] == "true"
|
30
|
+
require "codecov"
|
31
|
+
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
32
|
+
end
|
33
|
+
|
34
|
+
require "minitest/autorun"
|
35
|
+
require "minitest/hooks/test"
|
36
|
+
require "minitest/reporters"
|
37
|
+
require "concurrent"
|
38
|
+
require "timeout"
|
39
|
+
require "active_support"
|
40
|
+
|
41
|
+
STDOUT.sync = true
|
42
|
+
Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new]
|
43
|
+
|
44
|
+
module Lazylead
|
45
|
+
# A basic lazylead test based on Minitest.
|
46
|
+
# By default it defines
|
47
|
+
# - the timeout for each test
|
48
|
+
# - additional generic asserts
|
49
|
+
class Test < ActiveSupport::TestCase
|
50
|
+
include Minitest::Hooks
|
51
|
+
|
52
|
+
make_my_diffs_pretty!
|
53
|
+
|
54
|
+
def around
|
55
|
+
Timeout.timeout(
|
56
|
+
ENV["TEST_TIMEOUT"].nil? ? 10 : ENV["TEST_TIMEOUT"].to_i
|
57
|
+
) do
|
58
|
+
Thread.current.name = "test"
|
59
|
+
super
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def greater_then(fst, sec)
|
64
|
+
assert fst > sec, "'#{fst}' is expected to be greater than '#{sec}'"
|
65
|
+
end
|
66
|
+
|
67
|
+
def greater_or_eq(fst, sec)
|
68
|
+
assert fst >= sec,
|
69
|
+
"'#{fst}' is expected to be greater or equal to '#{sec}'"
|
70
|
+
end
|
71
|
+
|
72
|
+
def assert_entries(exp, act)
|
73
|
+
raise "Primary hash for comparing is empty" if exp.nil? || exp.empty?
|
74
|
+
exp.each do |k, v|
|
75
|
+
assert exp.key?(k), "The key '#{k}' is absent in #{act}"
|
76
|
+
assert_equal v, act[k]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# Assert that text contains expected words
|
81
|
+
def assert_words(words, text)
|
82
|
+
words = [words] unless words.respond_to? :each
|
83
|
+
words.each do |w|
|
84
|
+
assert_includes text, w
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Gives file name without extension (.rb)
|
89
|
+
def no_ext(path)
|
90
|
+
File.basename(path, ".rb")
|
91
|
+
end
|
92
|
+
|
93
|
+
# Gives true if key(s) have non-blank values in ENV.
|
94
|
+
# :key :: The key(s) from ENV
|
95
|
+
def env?(*keys)
|
96
|
+
if keys.respond_to?(:all?)
|
97
|
+
!keys.all? { |k| ENV[k].blank? }
|
98
|
+
else
|
99
|
+
!ENV[keys].blank?
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
data/todo.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# @todo #/DEV Enable Travis CI as second CI server once the project
|
2
|
+
# became a public. This might be alternative for Circle CI (just in case)
|
3
|
+
|
4
|
+
# @todo #/DEV There a lot of badges in readme which aren't enabled for now.
|
5
|
+
# Let's enable them. Examples you may find here:
|
6
|
+
# - https://github.com/dgroup/lazylead/blob/0.0.0-alpha-java/readme.md
|
7
|
+
# - https://github.com/dgroup/docker-unittests/blob/master/readme.md
|
8
|
+
|
9
|
+
# @todo #/DEV Enable DepShield badge for inspection. Example you may find
|
10
|
+
# [](https://depshield.github.io)
|
11
|
+
|
12
|
+
# @todo #/DEV Add Github integration for lazylead with the same methods as in Jira.
|
13
|
+
|
14
|
+
# @todo #/DEV Add Trello integration for lazylead with the same methods as in Jira.
|
15
|
+
|
16
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/*
|
2
|
+
* The MIT License
|
3
|
+
*
|
4
|
+
* Copyright (c) 2019-2020 Yurii Dubinka
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
* of this software and associated documentation files (the "Software"),
|
8
|
+
* to deal in the Software without restriction, including without limitation
|
9
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
10
|
+
* and/or sell copies of the Software, and to permit persons to whom
|
11
|
+
* the Software is furnished to do so, subject to the following conditions:
|
12
|
+
*
|
13
|
+
* The above copyright notice and this permission notice shall be included
|
14
|
+
* in all copies or substantial portions of the Software.
|
15
|
+
*
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
21
|
+
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
22
|
+
* OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
*/
|
24
|
+
-- @todo #/DEV Add indexes to all columns which have foreign keys in order to
|
25
|
+
-- avoid full table scans.
|
26
|
+
|
27
|
+
-- @todo #/DEV Add description to each column using ANSI column command.
|
28
|
+
-- Potentially switch to h2 is required.
|
29
|
+
|
30
|
+
-- @todo #/DEV Add index by name to table persons in order to avoid full table
|
31
|
+
-- scans during access by name.
|
32
|
+
PRAGMA foreign_keys = ON;
|
33
|
+
create table if not exists teams
|
34
|
+
(
|
35
|
+
id integer primary key autoincrement,
|
36
|
+
name text not null,
|
37
|
+
properties text
|
38
|
+
);
|
39
|
+
create table if not exists systems
|
40
|
+
(
|
41
|
+
id integer primary key autoincrement,
|
42
|
+
properties text not null
|
43
|
+
);
|
44
|
+
-- @todo #/DEV task.cron - add regexp verification of cron expression.
|
45
|
+
create table if not exists tasks
|
46
|
+
(
|
47
|
+
id integer primary key autoincrement,
|
48
|
+
name text not null,
|
49
|
+
cron text not null,
|
50
|
+
-- @todo #/DEV task.cron - add support for non-cron based schedule like at, once, every.
|
51
|
+
-- More details:
|
52
|
+
-- https://github.com/jmettraux/rufus-scheduler
|
53
|
+
-- https://stackoverflow.com/questions/46691666/using-constantize-to-invoke-both-a-class-and-method-from-separate-strings
|
54
|
+
system integer not null,
|
55
|
+
action text not null,
|
56
|
+
team_id integer not null,
|
57
|
+
description text,
|
58
|
+
enabled text,
|
59
|
+
properties text not null,
|
60
|
+
-- @todo #/DEV tasks.enabled - add index for future search. Research is required.
|
61
|
+
foreign key (system) references systems (id) on delete cascade,
|
62
|
+
foreign key (team_id) references teams (id) on delete cascade
|
63
|
+
);
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/*
|
2
|
+
* The MIT License
|
3
|
+
*
|
4
|
+
* Copyright (c) 2019-2020 Yurii Dubinka
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
* of this software and associated documentation files (the "Software"),
|
8
|
+
* to deal in the Software without restriction, including without limitation
|
9
|
+
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
10
|
+
* and/or sell copies of the Software, and to permit persons to whom
|
11
|
+
* the Software is furnished to do so, subject to the following conditions:
|
12
|
+
*
|
13
|
+
* The above copyright notice and this permission notice shall be included
|
14
|
+
* in all copies or substantial portions of the Software.
|
15
|
+
*
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
21
|
+
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
22
|
+
* OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
*/
|
24
|
+
insert into systems(id, properties)
|
25
|
+
values (1,
|
26
|
+
'{"type":"Lazylead::Jira", "username":"", "password":"", "site":"https://jira.spring.io", "context_path":""}'),
|
27
|
+
(2,
|
28
|
+
'{"type":"Lazylead::Jira", "username":"${jsi_usr}", "password":"${jsi_psw}", "site":"https://jira.spring.io", "context_path":""}');
|
29
|
+
insert into teams(id, name, properties)
|
30
|
+
values (1, 'BA squad', '{"from":"basquad@fake.com", "usr":"${usr}"}');
|
31
|
+
insert into tasks(name, cron, enabled, id, system, team_id, action, properties)
|
32
|
+
values ('echo', '* * * * *', 'false', 1, 1, 1, 'Lazylead::Task::Echo', '{}'),
|
33
|
+
('expired due date', '* * * * *', 'false', 2, 1, 1,
|
34
|
+
'Lazylead::Task::Notification',
|
35
|
+
'{"sql":"filter=100500","subject":"[DD] PDTN!","template":"lib/messages/due_date_expired.erb"}'),
|
36
|
+
('task with cc', '* * * * *', 'false', 3, 1, 1, 'Lazylead::Task::Echo',
|
37
|
+
'{"cc":"leelakenny@mail.com,maciecrane@mail.com"}'),
|
38
|
+
('task', '* * * * *', 'false', 4, 2, 1, 'Lazylead::Task::Echo', '{}'),
|
39
|
+
('pman', '', '', 5, 2, 1, '', '{"postman":"Lazylead::Postman"}');
|
metadata
ADDED
@@ -0,0 +1,815 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lazylead
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Yurii Dubinka
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-06-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 6.0.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 6.0.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: backtrace
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: concurrent-ruby
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.1.5
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.1.5
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: diffy
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.3.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.3.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faraday
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.0.1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.0.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: futex
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.8.5
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.8.5
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: get_process_mem
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.2.5
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.2.5
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: haml
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 5.0.4
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 5.0.4
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: jira-ruby
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.7.1
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.7.1
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: json
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.2.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.2.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: logging
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 2.2.2
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 2.2.2
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: mail
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 2.7.1
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 2.7.1
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: memory_profiler
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.9.13
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.9.13
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: openssl
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 2.1.2
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 2.1.2
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rainbow
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 3.0.0
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 3.0.0
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: require_all
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - '='
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 3.0.0
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - '='
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: 3.0.0
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rufus-scheduler
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - '='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 3.6.0
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - '='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 3.6.0
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: semantic
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - '='
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 1.6.1
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - '='
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 1.6.1
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: sinatra
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - '='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: 2.0.5
|
272
|
+
type: :runtime
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - '='
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: 2.0.5
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: slop
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - '='
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '4.4'
|
286
|
+
type: :runtime
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - '='
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '4.4'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: sqlite3
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - '='
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: 1.4.2
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - '='
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: 1.4.2
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: sys-proctable
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - '='
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: 1.2.1
|
314
|
+
type: :runtime
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - '='
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: 1.2.1
|
321
|
+
- !ruby/object:Gem::Dependency
|
322
|
+
name: threads
|
323
|
+
requirement: !ruby/object:Gem::Requirement
|
324
|
+
requirements:
|
325
|
+
- - '='
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: '0.3'
|
328
|
+
type: :runtime
|
329
|
+
prerelease: false
|
330
|
+
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
requirements:
|
332
|
+
- - '='
|
333
|
+
- !ruby/object:Gem::Version
|
334
|
+
version: '0.3'
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: tilt
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - '='
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: 2.0.10
|
342
|
+
type: :runtime
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - '='
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: 2.0.10
|
349
|
+
- !ruby/object:Gem::Dependency
|
350
|
+
name: total
|
351
|
+
requirement: !ruby/object:Gem::Requirement
|
352
|
+
requirements:
|
353
|
+
- - '='
|
354
|
+
- !ruby/object:Gem::Version
|
355
|
+
version: '0.3'
|
356
|
+
type: :runtime
|
357
|
+
prerelease: false
|
358
|
+
version_requirements: !ruby/object:Gem::Requirement
|
359
|
+
requirements:
|
360
|
+
- - '='
|
361
|
+
- !ruby/object:Gem::Version
|
362
|
+
version: '0.3'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: typhoeus
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - '='
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: 1.3.1
|
370
|
+
type: :runtime
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - '='
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: 1.3.1
|
377
|
+
- !ruby/object:Gem::Dependency
|
378
|
+
name: tzinfo
|
379
|
+
requirement: !ruby/object:Gem::Requirement
|
380
|
+
requirements:
|
381
|
+
- - '='
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: '1.1'
|
384
|
+
type: :runtime
|
385
|
+
prerelease: false
|
386
|
+
version_requirements: !ruby/object:Gem::Requirement
|
387
|
+
requirements:
|
388
|
+
- - '='
|
389
|
+
- !ruby/object:Gem::Version
|
390
|
+
version: '1.1'
|
391
|
+
- !ruby/object:Gem::Dependency
|
392
|
+
name: tzinfo-data
|
393
|
+
requirement: !ruby/object:Gem::Requirement
|
394
|
+
requirements:
|
395
|
+
- - '='
|
396
|
+
- !ruby/object:Gem::Version
|
397
|
+
version: 1.2019.3
|
398
|
+
type: :runtime
|
399
|
+
prerelease: false
|
400
|
+
version_requirements: !ruby/object:Gem::Requirement
|
401
|
+
requirements:
|
402
|
+
- - '='
|
403
|
+
- !ruby/object:Gem::Version
|
404
|
+
version: 1.2019.3
|
405
|
+
- !ruby/object:Gem::Dependency
|
406
|
+
name: usagewatch_ext
|
407
|
+
requirement: !ruby/object:Gem::Requirement
|
408
|
+
requirements:
|
409
|
+
- - '='
|
410
|
+
- !ruby/object:Gem::Version
|
411
|
+
version: 0.2.1
|
412
|
+
type: :runtime
|
413
|
+
prerelease: false
|
414
|
+
version_requirements: !ruby/object:Gem::Requirement
|
415
|
+
requirements:
|
416
|
+
- - '='
|
417
|
+
- !ruby/object:Gem::Version
|
418
|
+
version: 0.2.1
|
419
|
+
- !ruby/object:Gem::Dependency
|
420
|
+
name: vcs4sql
|
421
|
+
requirement: !ruby/object:Gem::Requirement
|
422
|
+
requirements:
|
423
|
+
- - '='
|
424
|
+
- !ruby/object:Gem::Version
|
425
|
+
version: 0.1.0
|
426
|
+
type: :runtime
|
427
|
+
prerelease: false
|
428
|
+
version_requirements: !ruby/object:Gem::Requirement
|
429
|
+
requirements:
|
430
|
+
- - '='
|
431
|
+
- !ruby/object:Gem::Version
|
432
|
+
version: 0.1.0
|
433
|
+
- !ruby/object:Gem::Dependency
|
434
|
+
name: viewpoint
|
435
|
+
requirement: !ruby/object:Gem::Requirement
|
436
|
+
requirements:
|
437
|
+
- - '='
|
438
|
+
- !ruby/object:Gem::Version
|
439
|
+
version: 1.1.0
|
440
|
+
type: :runtime
|
441
|
+
prerelease: false
|
442
|
+
version_requirements: !ruby/object:Gem::Requirement
|
443
|
+
requirements:
|
444
|
+
- - '='
|
445
|
+
- !ruby/object:Gem::Version
|
446
|
+
version: 1.1.0
|
447
|
+
- !ruby/object:Gem::Dependency
|
448
|
+
name: zache
|
449
|
+
requirement: !ruby/object:Gem::Requirement
|
450
|
+
requirements:
|
451
|
+
- - '='
|
452
|
+
- !ruby/object:Gem::Version
|
453
|
+
version: '0.12'
|
454
|
+
type: :runtime
|
455
|
+
prerelease: false
|
456
|
+
version_requirements: !ruby/object:Gem::Requirement
|
457
|
+
requirements:
|
458
|
+
- - '='
|
459
|
+
- !ruby/object:Gem::Version
|
460
|
+
version: '0.12'
|
461
|
+
- !ruby/object:Gem::Dependency
|
462
|
+
name: codecov
|
463
|
+
requirement: !ruby/object:Gem::Requirement
|
464
|
+
requirements:
|
465
|
+
- - '='
|
466
|
+
- !ruby/object:Gem::Version
|
467
|
+
version: 0.1.14
|
468
|
+
type: :development
|
469
|
+
prerelease: false
|
470
|
+
version_requirements: !ruby/object:Gem::Requirement
|
471
|
+
requirements:
|
472
|
+
- - '='
|
473
|
+
- !ruby/object:Gem::Version
|
474
|
+
version: 0.1.14
|
475
|
+
- !ruby/object:Gem::Dependency
|
476
|
+
name: guard
|
477
|
+
requirement: !ruby/object:Gem::Requirement
|
478
|
+
requirements:
|
479
|
+
- - '='
|
480
|
+
- !ruby/object:Gem::Version
|
481
|
+
version: 2.15.0
|
482
|
+
type: :development
|
483
|
+
prerelease: false
|
484
|
+
version_requirements: !ruby/object:Gem::Requirement
|
485
|
+
requirements:
|
486
|
+
- - '='
|
487
|
+
- !ruby/object:Gem::Version
|
488
|
+
version: 2.15.0
|
489
|
+
- !ruby/object:Gem::Dependency
|
490
|
+
name: guard-minitest
|
491
|
+
requirement: !ruby/object:Gem::Requirement
|
492
|
+
requirements:
|
493
|
+
- - '='
|
494
|
+
- !ruby/object:Gem::Version
|
495
|
+
version: 2.4.6
|
496
|
+
type: :development
|
497
|
+
prerelease: false
|
498
|
+
version_requirements: !ruby/object:Gem::Requirement
|
499
|
+
requirements:
|
500
|
+
- - '='
|
501
|
+
- !ruby/object:Gem::Version
|
502
|
+
version: 2.4.6
|
503
|
+
- !ruby/object:Gem::Dependency
|
504
|
+
name: minitest
|
505
|
+
requirement: !ruby/object:Gem::Requirement
|
506
|
+
requirements:
|
507
|
+
- - '='
|
508
|
+
- !ruby/object:Gem::Version
|
509
|
+
version: 5.11.3
|
510
|
+
type: :development
|
511
|
+
prerelease: false
|
512
|
+
version_requirements: !ruby/object:Gem::Requirement
|
513
|
+
requirements:
|
514
|
+
- - '='
|
515
|
+
- !ruby/object:Gem::Version
|
516
|
+
version: 5.11.3
|
517
|
+
- !ruby/object:Gem::Dependency
|
518
|
+
name: minitest-fail-fast
|
519
|
+
requirement: !ruby/object:Gem::Requirement
|
520
|
+
requirements:
|
521
|
+
- - '='
|
522
|
+
- !ruby/object:Gem::Version
|
523
|
+
version: 0.1.0
|
524
|
+
type: :development
|
525
|
+
prerelease: false
|
526
|
+
version_requirements: !ruby/object:Gem::Requirement
|
527
|
+
requirements:
|
528
|
+
- - '='
|
529
|
+
- !ruby/object:Gem::Version
|
530
|
+
version: 0.1.0
|
531
|
+
- !ruby/object:Gem::Dependency
|
532
|
+
name: minitest-hooks
|
533
|
+
requirement: !ruby/object:Gem::Requirement
|
534
|
+
requirements:
|
535
|
+
- - '='
|
536
|
+
- !ruby/object:Gem::Version
|
537
|
+
version: 1.5.0
|
538
|
+
type: :development
|
539
|
+
prerelease: false
|
540
|
+
version_requirements: !ruby/object:Gem::Requirement
|
541
|
+
requirements:
|
542
|
+
- - '='
|
543
|
+
- !ruby/object:Gem::Version
|
544
|
+
version: 1.5.0
|
545
|
+
- !ruby/object:Gem::Dependency
|
546
|
+
name: minitest-reporters
|
547
|
+
requirement: !ruby/object:Gem::Requirement
|
548
|
+
requirements:
|
549
|
+
- - '='
|
550
|
+
- !ruby/object:Gem::Version
|
551
|
+
version: 1.3.6
|
552
|
+
type: :development
|
553
|
+
prerelease: false
|
554
|
+
version_requirements: !ruby/object:Gem::Requirement
|
555
|
+
requirements:
|
556
|
+
- - '='
|
557
|
+
- !ruby/object:Gem::Version
|
558
|
+
version: 1.3.6
|
559
|
+
- !ruby/object:Gem::Dependency
|
560
|
+
name: rake
|
561
|
+
requirement: !ruby/object:Gem::Requirement
|
562
|
+
requirements:
|
563
|
+
- - '='
|
564
|
+
- !ruby/object:Gem::Version
|
565
|
+
version: 12.3.2
|
566
|
+
type: :development
|
567
|
+
prerelease: false
|
568
|
+
version_requirements: !ruby/object:Gem::Requirement
|
569
|
+
requirements:
|
570
|
+
- - '='
|
571
|
+
- !ruby/object:Gem::Version
|
572
|
+
version: 12.3.2
|
573
|
+
- !ruby/object:Gem::Dependency
|
574
|
+
name: random-port
|
575
|
+
requirement: !ruby/object:Gem::Requirement
|
576
|
+
requirements:
|
577
|
+
- - '='
|
578
|
+
- !ruby/object:Gem::Version
|
579
|
+
version: 0.3.1
|
580
|
+
type: :development
|
581
|
+
prerelease: false
|
582
|
+
version_requirements: !ruby/object:Gem::Requirement
|
583
|
+
requirements:
|
584
|
+
- - '='
|
585
|
+
- !ruby/object:Gem::Version
|
586
|
+
version: 0.3.1
|
587
|
+
- !ruby/object:Gem::Dependency
|
588
|
+
name: rdoc
|
589
|
+
requirement: !ruby/object:Gem::Requirement
|
590
|
+
requirements:
|
591
|
+
- - '='
|
592
|
+
- !ruby/object:Gem::Version
|
593
|
+
version: 6.1.1
|
594
|
+
type: :development
|
595
|
+
prerelease: false
|
596
|
+
version_requirements: !ruby/object:Gem::Requirement
|
597
|
+
requirements:
|
598
|
+
- - '='
|
599
|
+
- !ruby/object:Gem::Version
|
600
|
+
version: 6.1.1
|
601
|
+
- !ruby/object:Gem::Dependency
|
602
|
+
name: rubocop
|
603
|
+
requirement: !ruby/object:Gem::Requirement
|
604
|
+
requirements:
|
605
|
+
- - '='
|
606
|
+
- !ruby/object:Gem::Version
|
607
|
+
version: '0.82'
|
608
|
+
type: :development
|
609
|
+
prerelease: false
|
610
|
+
version_requirements: !ruby/object:Gem::Requirement
|
611
|
+
requirements:
|
612
|
+
- - '='
|
613
|
+
- !ruby/object:Gem::Version
|
614
|
+
version: '0.82'
|
615
|
+
- !ruby/object:Gem::Dependency
|
616
|
+
name: rubocop-minitest
|
617
|
+
requirement: !ruby/object:Gem::Requirement
|
618
|
+
requirements:
|
619
|
+
- - '='
|
620
|
+
- !ruby/object:Gem::Version
|
621
|
+
version: 0.5.1
|
622
|
+
type: :development
|
623
|
+
prerelease: false
|
624
|
+
version_requirements: !ruby/object:Gem::Requirement
|
625
|
+
requirements:
|
626
|
+
- - '='
|
627
|
+
- !ruby/object:Gem::Version
|
628
|
+
version: 0.5.1
|
629
|
+
- !ruby/object:Gem::Dependency
|
630
|
+
name: rubocop-performance
|
631
|
+
requirement: !ruby/object:Gem::Requirement
|
632
|
+
requirements:
|
633
|
+
- - '='
|
634
|
+
- !ruby/object:Gem::Version
|
635
|
+
version: 1.5.2
|
636
|
+
type: :development
|
637
|
+
prerelease: false
|
638
|
+
version_requirements: !ruby/object:Gem::Requirement
|
639
|
+
requirements:
|
640
|
+
- - '='
|
641
|
+
- !ruby/object:Gem::Version
|
642
|
+
version: 1.5.2
|
643
|
+
- !ruby/object:Gem::Dependency
|
644
|
+
name: rubocop-rspec
|
645
|
+
requirement: !ruby/object:Gem::Requirement
|
646
|
+
requirements:
|
647
|
+
- - '='
|
648
|
+
- !ruby/object:Gem::Version
|
649
|
+
version: 1.33.0
|
650
|
+
type: :development
|
651
|
+
prerelease: false
|
652
|
+
version_requirements: !ruby/object:Gem::Requirement
|
653
|
+
requirements:
|
654
|
+
- - '='
|
655
|
+
- !ruby/object:Gem::Version
|
656
|
+
version: 1.33.0
|
657
|
+
- !ruby/object:Gem::Dependency
|
658
|
+
name: xcop
|
659
|
+
requirement: !ruby/object:Gem::Requirement
|
660
|
+
requirements:
|
661
|
+
- - '='
|
662
|
+
- !ruby/object:Gem::Version
|
663
|
+
version: '0.6'
|
664
|
+
type: :development
|
665
|
+
prerelease: false
|
666
|
+
version_requirements: !ruby/object:Gem::Requirement
|
667
|
+
requirements:
|
668
|
+
- - '='
|
669
|
+
- !ruby/object:Gem::Version
|
670
|
+
version: '0.6'
|
671
|
+
description: |-
|
672
|
+
Ticketing systems (Github, Jira, etc.) are strongly
|
673
|
+
integrated into our processes and everyone understands their necessity. As soon
|
674
|
+
as a developer becomes a lead/technical manager, he or she faces a set of
|
675
|
+
routine tasks that are related to ticketing work. On large projects this becomes
|
676
|
+
a problem, more and more you spend time running around on dashboards and
|
677
|
+
tickets, looking for incorrect deviations in tickets and performing routine
|
678
|
+
tasks instead of solving technical problems.
|
679
|
+
email: yurii.dubinka@gmail.com
|
680
|
+
executables:
|
681
|
+
- ".ruby-version"
|
682
|
+
- lazylead
|
683
|
+
extensions: []
|
684
|
+
extra_rdoc_files:
|
685
|
+
- readme.md
|
686
|
+
- license.txt
|
687
|
+
files:
|
688
|
+
- " .dockerignore"
|
689
|
+
- ".0pdd.yml"
|
690
|
+
- ".circleci/config.yml"
|
691
|
+
- ".circleci/release_image.sh"
|
692
|
+
- ".circleci/validate.sh"
|
693
|
+
- ".docker/Dockerfile"
|
694
|
+
- ".docker/build.sh"
|
695
|
+
- ".docker/docker-compose.yml"
|
696
|
+
- ".docker/readme.md"
|
697
|
+
- ".gitattributes"
|
698
|
+
- ".github/CODE_OF_CONDUCT.md"
|
699
|
+
- ".github/CONTRIBUTING.md"
|
700
|
+
- ".github/ISSUE_TEMPLATE.md"
|
701
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
702
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
703
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
704
|
+
- ".github/tasks.yml"
|
705
|
+
- ".github/trello.md"
|
706
|
+
- ".gitignore"
|
707
|
+
- ".pdd"
|
708
|
+
- ".rubocop.yml"
|
709
|
+
- ".ruby-version"
|
710
|
+
- ".rultor.yml"
|
711
|
+
- ".simplecov"
|
712
|
+
- ".travis.yml"
|
713
|
+
- Gemfile
|
714
|
+
- Guardfile
|
715
|
+
- Rakefile
|
716
|
+
- appveyor.yml
|
717
|
+
- bin/.ruby-version
|
718
|
+
- bin/lazylead
|
719
|
+
- build.sh
|
720
|
+
- deploy.sh
|
721
|
+
- lazylead.gemspec
|
722
|
+
- lib/lazylead.rb
|
723
|
+
- lib/lazylead/allocated.rb
|
724
|
+
- lib/lazylead/cli/app.rb
|
725
|
+
- lib/lazylead/confluence.rb
|
726
|
+
- lib/lazylead/email.rb
|
727
|
+
- lib/lazylead/exchange.rb
|
728
|
+
- lib/lazylead/log.rb
|
729
|
+
- lib/lazylead/model.rb
|
730
|
+
- lib/lazylead/postman.rb
|
731
|
+
- lib/lazylead/salt.rb
|
732
|
+
- lib/lazylead/schedule.rb
|
733
|
+
- lib/lazylead/smtp.rb
|
734
|
+
- lib/lazylead/system/empty.rb
|
735
|
+
- lib/lazylead/system/fake.rb
|
736
|
+
- lib/lazylead/system/jira.rb
|
737
|
+
- lib/lazylead/system/synced.rb
|
738
|
+
- lib/lazylead/task/alert.rb
|
739
|
+
- lib/lazylead/task/confluence_ref.rb
|
740
|
+
- lib/lazylead/task/echo.rb
|
741
|
+
- lib/lazylead/task/fix_version.rb
|
742
|
+
- lib/lazylead/task/missing_comment.rb
|
743
|
+
- lib/lazylead/version.rb
|
744
|
+
- lib/messages/due_date_expired.erb
|
745
|
+
- lib/messages/illegal_fixversion_change.erb
|
746
|
+
- lib/messages/missing_comment.erb
|
747
|
+
- license.txt
|
748
|
+
- readme.md
|
749
|
+
- test/lazylead/allocated_test.rb
|
750
|
+
- test/lazylead/cli/app_test.rb
|
751
|
+
- test/lazylead/confluence_test.rb
|
752
|
+
- test/lazylead/exchange_test.rb
|
753
|
+
- test/lazylead/model_test.rb
|
754
|
+
- test/lazylead/salt_test.rb
|
755
|
+
- test/lazylead/smoke_test.rb
|
756
|
+
- test/lazylead/smtp_test.rb
|
757
|
+
- test/lazylead/system/jira_test.rb
|
758
|
+
- test/lazylead/task/confluence_ref_test.rb
|
759
|
+
- test/lazylead/task/duedate_test.rb
|
760
|
+
- test/lazylead/task/echo_test.rb
|
761
|
+
- test/lazylead/task/fix_version_test.rb
|
762
|
+
- test/lazylead/task/missing_comment_test.rb
|
763
|
+
- test/lazylead/version_test.rb
|
764
|
+
- test/sqlite_test.rb
|
765
|
+
- test/test.rb
|
766
|
+
- todo.yml
|
767
|
+
- upgrades/sqlite/001-install-main-lazylead-tables.sql
|
768
|
+
- upgrades/sqlite/999.testdata.sql
|
769
|
+
homepage: http://github.com/dgroup/lazylead
|
770
|
+
licenses:
|
771
|
+
- MIT
|
772
|
+
metadata: {}
|
773
|
+
post_install_message: |-
|
774
|
+
Thanks for installing Lazylead v0.0.0!
|
775
|
+
Read our blog posts: https://lazylead.org
|
776
|
+
Stay in touch with the community in Telegram: https://t.me/lazylead
|
777
|
+
Follow us on Twitter: https://twitter.com/lazylead
|
778
|
+
If you have any issues, report to our GitHub repo: https://github.com/dgroup/lazylead
|
779
|
+
rdoc_options:
|
780
|
+
- "--charset=UTF-8"
|
781
|
+
require_paths:
|
782
|
+
- lib
|
783
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
784
|
+
requirements:
|
785
|
+
- - ">="
|
786
|
+
- !ruby/object:Gem::Version
|
787
|
+
version: 2.6.5
|
788
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
789
|
+
requirements:
|
790
|
+
- - ">="
|
791
|
+
- !ruby/object:Gem::Version
|
792
|
+
version: '0'
|
793
|
+
requirements: []
|
794
|
+
rubygems_version: 3.0.3
|
795
|
+
signing_key:
|
796
|
+
specification_version: 2
|
797
|
+
summary: Eliminate the annoying work within bug-trackers.
|
798
|
+
test_files:
|
799
|
+
- test/lazylead/allocated_test.rb
|
800
|
+
- test/lazylead/cli/app_test.rb
|
801
|
+
- test/lazylead/confluence_test.rb
|
802
|
+
- test/lazylead/exchange_test.rb
|
803
|
+
- test/lazylead/model_test.rb
|
804
|
+
- test/lazylead/salt_test.rb
|
805
|
+
- test/lazylead/smoke_test.rb
|
806
|
+
- test/lazylead/smtp_test.rb
|
807
|
+
- test/lazylead/system/jira_test.rb
|
808
|
+
- test/lazylead/task/confluence_ref_test.rb
|
809
|
+
- test/lazylead/task/duedate_test.rb
|
810
|
+
- test/lazylead/task/echo_test.rb
|
811
|
+
- test/lazylead/task/fix_version_test.rb
|
812
|
+
- test/lazylead/task/missing_comment_test.rb
|
813
|
+
- test/lazylead/version_test.rb
|
814
|
+
- test/sqlite_test.rb
|
815
|
+
- test/test.rb
|