lazylead 0.11.3 → 0.11.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 85f4a0cb192b81550bc11f25d2b284e51ba3437726f72bcf5b1d13d5b8e1560f
4
- data.tar.gz: 2740b477357205bb40195e72b4fbd503a30c5c0ae8a729b4bbae4a2b27e7d6e4
3
+ metadata.gz: bc491194d58199a3949bbf63fb5dc6ea8a303dede1c5b646410fad4335e3363d
4
+ data.tar.gz: a451b8e278fa971abb3bd7453ab1d907d94a803a3fa3e42aca87dc7ab24687e0
5
5
  SHA512:
6
- metadata.gz: ce207ea7736acab2e0221ef5f09c6f887e1b6d761167f5fa878553f7de0132856d79d647464e90bba21b619d9a33df869af6b4d0016ea00836628acc53a8ba47
7
- data.tar.gz: 3a9568ea019e7167a80dfb88d1d202f7de64996d4e9dd2091dd08f0cc5a76b3d46195d7ef0ba5232baa0cf92cbaa0f61f36e3138f8a452bb2277d8c7b34d11a8
6
+ metadata.gz: 94c13ca434970b74119f1a8490110167e72cd384350f84fed34165af17062327ce0259696aa6b5f3e38a232595d169865f7f9231b995f430eaae319c0f3c15c1
7
+ data.tar.gz: bfb59ad495bf98f793400b0347951850cf556dfb055460bd6ec01e02947c6834c752343ada126f18f6c30dbe524ac51c004164082c455ad18f2add1f2e6d02ae
@@ -5,19 +5,18 @@ services:
5
5
 
6
6
  lazylead:
7
7
  image: dgroup/lazylead:latest
8
- container_name: lazylead
8
+ container_name: ll
9
9
  mem_limit: 128m
10
10
  build:
11
11
  context: ../
12
12
  dockerfile: .docker/Dockerfile
13
13
  args:
14
- release_tags: "latest 0.1.0"
15
- version: "0.1.0"
16
- ports:
17
- - 82:8080
18
- - 1082:1082 # remote debug
19
- - 1282:1282 # JMX connection for jvisualvm debug
14
+ release_tags: "latest 0.1.x"
15
+ version: "0.1.x"
16
+ environment:
17
+ jira_url: https://jira.spring.io
18
+ file_postman_dir: "logs"
20
19
  volumes:
21
- - .local/dumps:/lazylead/dumps
22
- - .local/logs:/lazylead/logs
23
- entrypoint: bin/lazylead --trace --verbose --log-file /lazylead/logs/ll{{.%Y-%m-%dT%H:%M:%S}}.log
20
+ - .local:/lazylead/db
21
+ - .local:/lazylead/logs
22
+ entrypoint: bin/lazylead --trace --verbose --log-file /lazylead/logs/ll{{.%Y-%m-%dT%H:%M:%S}}.log --sqlite db/ll.db
data/Rakefile CHANGED
@@ -94,7 +94,7 @@ desc "Validate all XML/XSL/XSD/HTML files for formatting"
94
94
  Xcop::RakeTask.new :xcop do |task|
95
95
  task.license = "license.txt"
96
96
  task.includes = %w[**/*.xml **/*.xsl **/*.xsd **/*.html]
97
- task.excludes = %w[target/**/* coverage/**/* wp/**/*]
97
+ task.excludes = %w[target/**/* coverage/**/* wp/**/* test/resources/*]
98
98
  end
99
99
 
100
100
  # @todo #/DEV Enable rule "Checks SQL against the ANSI syntax" fully.
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.11.3"
35
+ s.version = "0.11.4"
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.11.3!
48
+ s.post_install_message = "Thanks for installing Lazylead v0.11.4!
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
@@ -58,7 +58,7 @@ tasks instead of solving technical problems."
58
58
  s.add_runtime_dependency "activerecord", "6.1.3"
59
59
  s.add_runtime_dependency "backtrace", "0.3"
60
60
  s.add_runtime_dependency "colorize", "0.8.1"
61
- s.add_runtime_dependency "faraday", "1.7.2"
61
+ s.add_runtime_dependency "faraday", "1.8.0"
62
62
  s.add_runtime_dependency "get_process_mem", "0.2.7"
63
63
  s.add_runtime_dependency "inifile", "3.0.0"
64
64
  s.add_runtime_dependency "jira-ruby", "2.1.5"
@@ -77,9 +77,10 @@ tasks instead of solving technical problems."
77
77
  s.add_runtime_dependency "tempfile", "0.1.1"
78
78
  s.add_runtime_dependency "tilt", "2.0.10"
79
79
  s.add_runtime_dependency "tzinfo", "2.0.4"
80
- s.add_runtime_dependency "tzinfo-data", "1.2021.1"
80
+ s.add_runtime_dependency "tzinfo-data", "1.2021.2"
81
81
  s.add_runtime_dependency "vcs4sql", "0.1.1"
82
82
  s.add_runtime_dependency "viewpoint", "1.1.1"
83
+ s.add_runtime_dependency "zaru", "0.3.0"
83
84
  s.add_development_dependency "codecov", "0.6.0"
84
85
  s.add_development_dependency "guard", "2.18.0"
85
86
  s.add_development_dependency "guard-minitest", "2.4.6"
@@ -91,11 +92,11 @@ tasks instead of solving technical problems."
91
92
  s.add_development_dependency "rake", "13.0.6"
92
93
  s.add_development_dependency "random-port", "0.5.1"
93
94
  s.add_development_dependency "rdoc", "6.3.2"
94
- s.add_development_dependency "rubocop", "1.21.0"
95
- s.add_development_dependency "rubocop-minitest", "0.15.0"
95
+ s.add_development_dependency "rubocop", "1.22.0"
96
+ s.add_development_dependency "rubocop-minitest", "0.15.1"
96
97
  s.add_development_dependency "rubocop-performance", "1.11.5"
97
98
  s.add_development_dependency "rubocop-rake", "0.6.0"
98
- s.add_development_dependency "rubocop-rspec", "2.4.0"
99
+ s.add_development_dependency "rubocop-rspec", "2.5.0"
99
100
  s.add_development_dependency "ruby-prof", "1.4.3"
100
101
  s.add_development_dependency "sqlint", "0.2.0"
101
102
  s.add_development_dependency "tempfile", "0.1.1"
@@ -22,6 +22,8 @@
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 "zaru"
26
+ require "colorize"
25
27
  require_relative "log"
26
28
  require_relative "email"
27
29
  require_relative "version"
@@ -76,4 +78,62 @@ module Lazylead
76
78
  mail
77
79
  end
78
80
  end
81
+
82
+ #
83
+ # A postman that sends emails to the std out.
84
+ #
85
+ class StdoutPostman
86
+ def initialize(log = Log.new)
87
+ @log = log
88
+ end
89
+
90
+ # Send an email.
91
+ # :opts :: the mail configuration like to, from, cc, subject, template.
92
+ def send(opts)
93
+ if opts.msg_to.empty?
94
+ p "Email can't be sent as 'to' is empty, more: '#{opts}'"
95
+ else
96
+ p "to=#{opts.msg_to}, from=#{opts.msg_from}, cc=#{opts.msg_cc}, " \
97
+ "subject=#{opts['subject']}, attachments=#{opts.msg_attachments}, body=#{opts.msg_body}"
98
+ end
99
+ end
100
+ end
101
+
102
+ #
103
+ # A postman that sends emails to the html file.
104
+ # Use ENV['file_postman_dir'] to set a root directory.
105
+ # By default
106
+ # ENV['file_postman_dir'] = "."
107
+ #
108
+ class FilePostman
109
+ def initialize(log = Log.new, env = ENV.to_h)
110
+ @log = log
111
+ @env = env
112
+ end
113
+
114
+ # Send an email.
115
+ # :opts :: the mail configuration like to, from, cc, subject, template.
116
+ def send(opts)
117
+ if opts.msg_to.empty?
118
+ @log.warn "ll-015: Email can't be sent as 'to' is empty, more: '#{opts}'"
119
+ else
120
+ file = filename(opts)
121
+ File.open(file, "w") do |f|
122
+ f.write "<!-- to=#{opts.msg_to}, from=#{opts.msg_from}, cc=#{opts.msg_cc}, " \
123
+ "subject=#{opts['subject']}, attachments=#{opts.msg_attachments} -->"
124
+ f.write opts.msg_body
125
+ end
126
+ @log.debug "Mail '#{opts['subject']}' for #{opts.msg_to} sent to " \
127
+ "'#{file.to_s.colorize(:light_blue)}'"
128
+ end
129
+ end
130
+
131
+ # Assemble file name where email to be print
132
+ def filename(opts)
133
+ File.join(
134
+ @env.fetch("file_postman_dir", "."),
135
+ Zaru.sanitize!("#{Time.now.nsec}-#{opts['subject']}.html")
136
+ )
137
+ end
138
+ end
79
139
  end
@@ -1,4 +1,5 @@
1
1
  ## Enable profiler
2
+ https://ruby-prof.github.io
2
3
  ```ruby
3
4
  require 'ruby-prof'
4
5
  alloc = RubyProf.profile(:track_allocations => true) do
@@ -349,7 +349,7 @@ module Lazylead
349
349
  extend Forwardable
350
350
  def_delegators :@jira, :issues, :raw, :max_results, :limit
351
351
 
352
- def initialize(url, path = "", log = Log.new)
352
+ def initialize(url, salt = NoSalt.new, path = "", log = Log.new)
353
353
  @jira = Jira.new(
354
354
  {
355
355
  username: nil,
@@ -357,7 +357,7 @@ module Lazylead
357
357
  site: url,
358
358
  context_path: path
359
359
  },
360
- NoSalt.new,
360
+ salt,
361
361
  log
362
362
  )
363
363
  end
@@ -82,7 +82,7 @@ module Lazylead
82
82
  # Accuracy is a percentage between current score and maximum possible value.
83
83
  def evaluate(digits = 2)
84
84
  @score = @opts[:rules].select { |r| r.passed(@issue) }.sum(&:score)
85
- @accuracy = (score / @opts[:total] * 100).round(digits)
85
+ @accuracy = (@score.to_f / @opts[:total] * 100).round(digits)
86
86
  self
87
87
  end
88
88
 
@@ -51,7 +51,7 @@ module Lazylead
51
51
  .to_enum(:scan, /!.+!/)
52
52
  .map { Regexp.last_match }
53
53
  .map(&:to_s)
54
- .reject { |r| r.match?(%r{(http|https)://.*/images/icons/link_attachment.*.gif}) }
54
+ .grep_v(%r{(http|https)://.*/images/icons/link_attachment.*.gif})
55
55
  end
56
56
 
57
57
  # Detect all pictures in ticket attachments and returns an array with file names.
@@ -23,5 +23,5 @@
23
23
  # OR OTHER DEALINGS IN THE SOFTWARE.
24
24
 
25
25
  module Lazylead
26
- VERSION = "0.11.3"
26
+ VERSION = "0.11.4"
27
27
  end
data/readme.md CHANGED
@@ -19,8 +19,6 @@
19
19
  [![DevOps By Rultor.com](http://www.rultor.com/b/dgroup/lazylead)](http://www.rultor.com/p/dgroup/lazylead)
20
20
  [![EO badge](http://www.elegantobjects.org/badge.svg)](http://www.elegantobjects.org/#principles)
21
21
 
22
- ⚠️ We're still in a very early alpha version, the API may change frequently until we release version `1.0`.
23
-
24
22
  ### Overview
25
23
  Ticketing systems (Github, Jira, etc.) are strongly integrated into our processes and everyone understands their necessity. As soon as a developer becomes a lead/technical manager, he or she faces a set of routine tasks that are related to ticketing work. On large projects this becomes a problem, more and more you spend time running around on dashboards and tickets, looking for incorrect deviations in tickets and performing routine tasks instead of solving technical problems.
26
24
 
@@ -28,35 +26,35 @@ The idea of automatic management is not new, for example [Zerocracy](https://www
28
26
  I like this idea, but large companies/projects are not ready yet for such a decisive breakthrough and need step-by-step solutions such as [lazylead](https://github.com/dgroup/lazylead).
29
27
  I think you remember how [static code analysis](https://en.wikipedia.org/wiki/Static_program_analysis) treated at in the past; today we have a huge toolkit (pmd, checkstyle, qulice, rubocop, peon, etc) for each language that allows you to avoid routine issues and remove from the code reviewer the unnecessary load.
30
28
 
31
- Join our telegram group [lazylead.org](https://t.me/lazyleads) for discussions.
32
-
33
- | Daily annoying task | Jira | Github | Trello | SVN |
34
- | :---------------------------------------------------------------------------------- | :---: | :----: | :----: | :----: |
35
- | [Notify ticket's assignee](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ |
36
- | [Notify ticket's reporter](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ |
37
- | [Notify ticket's manager](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ |
38
- | [Notify about illegal "Fix Version" modification](lib/lazylead/task/fix_version.rb) | ✅ | ❌ | ❌ | ❌ |
39
- | [Expected comment in ticket is missing](lib/lazylead/task/missing_comment.rb) | ✅ | ⌛ | ⌛ | ❌ |
40
- | [Propagate some fields from parent ticket into sub-tasks](.docs/propagate_down.md) | ✅ | ❌ | ❌ | ❌ |
41
- | [Evaluate the ticket formatting accuracy](.docs/accuracy.md) | ✅ | ⌛ | ⌛ | ❌ |
42
- | Print the current capacity of team into newly created tasks | ⌛ | ⌛ | ⌛ | ❌ |
43
- | Create/retrofit the defect automatically into latest release | ⌛ | ⌛ | ❌ | ❌ |
44
- | [Notify about expired(ing) due dates](.docs/duedate_expired.md) | ✅ | ❌ | ⌛ | ❌ |
45
- | Notify about absent original estimations | ⌛ | ⌛ | ⌛ | ❌ |
46
- | Notify about 'Hot potato' tickets | ⌛ | ⌛ | ⌛ | ❌ |
47
- | Notify about long live tickets (aging) | ⌛ | ⌛ | ⌛ | ❌ |
48
- | Create a meeting(s) automatically in case some tickets appeared (group by assignee/reporters/component/ticket type/etc) | ⌛ | ⌛ | ⌛ | ❌ |
49
- | Propogate fields from parent tickets to sub-tasks | ✅ | ⌛ | ⌛ | ❌ |
50
- | Notify about tickets without comments with expected text | ✅ | ⌛ | ⌛ | ❌ |
51
- | [Notify about team loading (no tasks on teammates)](lib/lazylead/task/loading.rb) | ✅ | ⌛ | ⌛ | ❌ |
52
- | Notify about tickets matches predefined multiple conditions | ✅ | ⌛ | ⌛ | ❌ |
53
- | Link automatically the ticket and Confluence page if link found in ticket's comments/description | ✅ | ⌛ | ⌛ | ❌ |
54
- | Notify about tickets assigned to your team members not by effective managers| ✅ | ⌛ | ⌛ | ❌ |
55
- | Notify about modifications of important files in VCS | ❌ | ⌛ | ❌ | ✅ |
56
- | Notify about diff changes for past X period in VCS | ❌ | ⌛ | ❌ | ✅ |
57
- | Notify about changes with some text for past X period in VCS | ❌ | ⌛ | ❌ | ✅ |
58
- | [Notify when someone outside of your team changed the due date on tickets for your team](lib/lazylead/task/micromanager.rb)| ✅ | ⌛ | ❌ | ❌ |
59
- | [Notify when someone outside of your team assigned a ticket directly to the developer](lib/lazylead/task/assignment.rb)| ✅ | ⌛ | ❌ | ❌ |
29
+ Join our telegram chat [lazylead](https://t.me/lazyleads) for discussions.
30
+
31
+ | Daily annoying task | Jira | Github | Trello | SVN | Git |
32
+ | :---------------------------------------------------------------------------------- | :---: | :----: | :----: | :----: | :----: |
33
+ | [Notify ticket's assignee](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
34
+ | [Notify ticket's reporter](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
35
+ | [Notify ticket's manager](lib/lazylead/task/alert/alert.rb) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
36
+ | [Notify about illegal "Fix Version" modification](lib/lazylead/task/fix_version.rb) | ✅ | ❌ | ❌ | ❌ | ❌ |
37
+ | [Expected comment in ticket is missing](lib/lazylead/task/missing_comment.rb) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
38
+ | [Propagate some fields from parent ticket into sub-tasks](.docs/propagate_down.md) | ✅ | ❌ | ❌ | ❌ | ❌ |
39
+ | [Evaluate the ticket formatting accuracy](.docs/accuracy.md) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
40
+ | Print the current capacity of team into newly created tasks | ⌛ | ⌛ | ⌛ | ❌ | ❌ |
41
+ | Create/retrofit the defect automatically into latest release | ⌛ | ⌛ | ❌ | ❌ | ❌ |
42
+ | [Notify about expired(ing) due dates](.docs/duedate_expired.md) | ✅ | ❌ | ⌛ | ❌ | ❌ |
43
+ | Notify about absent original estimations | ⌛ | ⌛ | ⌛ | ❌ | ❌ |
44
+ | Notify about 'Hot potato' tickets | ⌛ | ⌛ | ⌛ | ❌ | ❌ |
45
+ | Notify about long live tickets (aging) | ⌛ | ⌛ | ⌛ | ❌ | ❌ |
46
+ | Create a meeting(s) automatically in case some tickets appeared (group by assignee/reporters/component/ticket type/etc) | ⌛ | ⌛ | ⌛ | ❌ | ❌ |
47
+ | Propogate fields from parent tickets to sub-tasks | ✅ | ⌛ | ⌛ | ❌ | ❌ |
48
+ | Notify about tickets without comments with expected text | ✅ | ⌛ | ⌛ | ❌ | ❌ |
49
+ | [Notify about team loading (no tasks on teammates)](lib/lazylead/task/loading.rb) | ✅ | ⌛ | ⌛ | ❌ | ❌ |
50
+ | Notify about tickets matches predefined multiple conditions | ✅ | ⌛ | ⌛ | ❌ | ❌ |
51
+ | Link automatically the ticket and Confluence page if link found in ticket's comments/description | ✅ | ⌛ | ⌛ | ❌ | ❌ |
52
+ | Notify about tickets assigned to your team members not by effective managers| ✅ | ⌛ | ⌛ | ❌ | ❌ |
53
+ | Notify about modifications of important files in VCS | ❌ | ⌛ | ❌ | ✅ | ⌛ |
54
+ | Notify about diff changes for past X period in VCS | ❌ | ⌛ | ❌ | ✅ | ⌛ |
55
+ | Notify about changes with some text for past X period in VCS | ❌ | ⌛ | ❌ | ✅ | ⌛ |
56
+ | [Notify when someone outside of your team changed the due date on tickets for your team](lib/lazylead/task/micromanager.rb)| ✅ | ⌛ | ❌ | ❌ | ❌ |
57
+ | [Notify when someone outside of your team assigned a ticket directly to the developer](lib/lazylead/task/assignment.rb)| ✅ | ⌛ | ❌ | ❌ | ❌ |
60
58
 
61
59
  | Integration | Type | Status |
62
60
  | :---------------------------------------------------- | :-----------: | :----: |
@@ -183,6 +181,3 @@ For simplicity, we are using [docker-compose](https://docs.docker.com/compose/):
183
181
  rake -A
184
182
  ```
185
183
  Everyone interacting in this project’s codebases, issue trackers, chat rooms is expected to follow the [code of conduct](.github/CODE_OF_CONDUCT.md).
186
-
187
- Contributors:
188
- * [dgroup](https://github.com/dgroup) as Yurii Dubinka ([yurii.dubinka@gmail.com](mailto:yurii.dubinka@gmail.com))
@@ -57,4 +57,36 @@ module Lazylead
57
57
  )
58
58
  end
59
59
  end
60
+
61
+ class StdoutPostmanTest < Lazylead::Test
62
+ # @todo #495/DEV Find way to capture the STDOUT in order to test the email sending.
63
+ # Right now its just visual verification.
64
+ test "send email to stdout" do
65
+ StdoutPostman.new.send(
66
+ Opts.new(
67
+ "to" => "to@email.com",
68
+ "from" => "from@email.com",
69
+ "attachments" => ["readme.md"],
70
+ "subject" => "[LL] Attachments",
71
+ "template" => "lib/messages/savepoint.erb"
72
+ )
73
+ )
74
+ end
75
+ end
76
+
77
+ class FilePostmanTest < Lazylead::Test
78
+ # @todo #/DEV add new assert method which consume the file name and check existence on the disk
79
+ test "send email to html file" do
80
+ FilePostman.new(Log.new, "file_postman_dir" => "test/resources")
81
+ .send(
82
+ Opts.new(
83
+ "to" => "to@email.com",
84
+ "from" => "from@email.com",
85
+ "attachments" => ["readme.md"],
86
+ "subject" => "[LL] Attachments",
87
+ "template" => "lib/messages/savepoint.erb"
88
+ )
89
+ )
90
+ end
91
+ end
60
92
  end
@@ -97,5 +97,30 @@ module Lazylead
97
97
  )
98
98
  )[:tickets].size
99
99
  end
100
+
101
+ test "score is correct" do
102
+ Lazylead::Smtp.new.enable
103
+ Task::Accuracy.new.run(
104
+ NoAuthJira.new("https://jira.spring.io"),
105
+ Postman.new,
106
+ Opts.new(
107
+ "from" => "ll@fake.com",
108
+ "to" => "lead@fake.com",
109
+ "rules" => "Lazylead::Stacktrace,Lazylead::Testcase",
110
+ "fields" => "attachment,description,reporter,priority,duedate,summary",
111
+ "colors" => {
112
+ "0" => "#FF4F33",
113
+ "30" => "#FEC15E",
114
+ "50" => "#19DD1E"
115
+ }.to_json.to_s,
116
+ "jql" => "key=DATAMONGO-1532",
117
+ "silent" => "true",
118
+ "subject" => "[LL] Check DATAMONGO-1532",
119
+ "template" => "lib/messages/accuracy.erb"
120
+ )
121
+ )
122
+ assert_email "[LL] Check DATAMONGO-1532",
123
+ "DATAMONGO-1532", "3", "42.86%"
124
+ end
100
125
  end
101
126
  end
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.11.3
4
+ version: 0.11.4
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-09-19 00:00:00.000000000 Z
11
+ date: 2021-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 1.7.2
61
+ version: 1.8.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 1.7.2
68
+ version: 1.8.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: get_process_mem
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -324,14 +324,14 @@ dependencies:
324
324
  requirements:
325
325
  - - '='
326
326
  - !ruby/object:Gem::Version
327
- version: 1.2021.1
327
+ version: 1.2021.2
328
328
  type: :runtime
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
332
  - - '='
333
333
  - !ruby/object:Gem::Version
334
- version: 1.2021.1
334
+ version: 1.2021.2
335
335
  - !ruby/object:Gem::Dependency
336
336
  name: vcs4sql
337
337
  requirement: !ruby/object:Gem::Requirement
@@ -360,6 +360,20 @@ dependencies:
360
360
  - - '='
361
361
  - !ruby/object:Gem::Version
362
362
  version: 1.1.1
363
+ - !ruby/object:Gem::Dependency
364
+ name: zaru
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - '='
368
+ - !ruby/object:Gem::Version
369
+ version: 0.3.0
370
+ type: :runtime
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - '='
375
+ - !ruby/object:Gem::Version
376
+ version: 0.3.0
363
377
  - !ruby/object:Gem::Dependency
364
378
  name: codecov
365
379
  requirement: !ruby/object:Gem::Requirement
@@ -520,28 +534,28 @@ dependencies:
520
534
  requirements:
521
535
  - - '='
522
536
  - !ruby/object:Gem::Version
523
- version: 1.21.0
537
+ version: 1.22.0
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.21.0
544
+ version: 1.22.0
531
545
  - !ruby/object:Gem::Dependency
532
546
  name: rubocop-minitest
533
547
  requirement: !ruby/object:Gem::Requirement
534
548
  requirements:
535
549
  - - '='
536
550
  - !ruby/object:Gem::Version
537
- version: 0.15.0
551
+ version: 0.15.1
538
552
  type: :development
539
553
  prerelease: false
540
554
  version_requirements: !ruby/object:Gem::Requirement
541
555
  requirements:
542
556
  - - '='
543
557
  - !ruby/object:Gem::Version
544
- version: 0.15.0
558
+ version: 0.15.1
545
559
  - !ruby/object:Gem::Dependency
546
560
  name: rubocop-performance
547
561
  requirement: !ruby/object:Gem::Requirement
@@ -576,14 +590,14 @@ dependencies:
576
590
  requirements:
577
591
  - - '='
578
592
  - !ruby/object:Gem::Version
579
- version: 2.4.0
593
+ version: 2.5.0
580
594
  type: :development
581
595
  prerelease: false
582
596
  version_requirements: !ruby/object:Gem::Requirement
583
597
  requirements:
584
598
  - - '='
585
599
  - !ruby/object:Gem::Version
586
- version: 2.4.0
600
+ version: 2.5.0
587
601
  - !ruby/object:Gem::Dependency
588
602
  name: ruby-prof
589
603
  requirement: !ruby/object:Gem::Requirement
@@ -830,7 +844,7 @@ licenses:
830
844
  - MIT
831
845
  metadata: {}
832
846
  post_install_message: |-
833
- Thanks for installing Lazylead v0.11.3!
847
+ Thanks for installing Lazylead v0.11.4!
834
848
  Read our blog posts: https://lazylead.org
835
849
  Stay in touch with the community in Telegram: https://t.me/lazylead
836
850
  Follow us on Twitter: https://twitter.com/lazylead