xlogin 0.12.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c449db3a3cf0359fc79c858d307ebfb6625fc35f6005fa4e4578463363fe786
4
- data.tar.gz: 5514370c6d66e44e1066e0fa4e80108954750a6c7cc19062bef8eb9a462f049f
3
+ metadata.gz: a3f7355fe67c656f25da151d83442fbe6cdc9c2ae442e10550191230653991da
4
+ data.tar.gz: b46b07acfdaea0ccbc0bff01dd27518ab4fdd1cd227a8654eb5be878b79ffe9f
5
5
  SHA512:
6
- metadata.gz: '08a519dde6a07cdc637a4044bd52ec46b91289fe10c2e89ba5992a405c4e99f70ee57e206cda3020583f2f9a7a7f13ca7ab6602d37b709a5a2dae99795381e7a'
7
- data.tar.gz: 41b9b7e3827256fc796b57dbc67c2b78d8d1c63af6982297cb75542c661d1d9786170280dc4c9dc3998490bd3ff7f882ea0004b4105045f1857d3fdad0e8432f
6
+ metadata.gz: 6bfa4af5ffa2bdd7a56e751b0add6be766f481840b17a91779b7ade1b546745a1c46492c73ca63a5f3a83ef2a3a859aff4963480b0a2cdcf162ca1172211bcf4
7
+ data.tar.gz: 3ce180fa56f5599937b52176366cac3a449c1d2a6cbc078861b3f7a8e8a3c1cc2f79738bd8d3a5a141121af707691127360b6efe3fb86ea3523d895a94be60fd
@@ -20,7 +20,14 @@ module Xlogin
20
20
  desc "#{description} - #{hostname}" if opts[:desc] == true
21
21
  RakeTask.new(hostname, &block)
22
22
  end
23
+ end
24
+
25
+ def shutdown!
26
+ @stop = true
27
+ end
23
28
 
29
+ def stop?
30
+ !!@stop
24
31
  end
25
32
  end
26
33
 
@@ -31,8 +38,6 @@ module Xlogin
31
38
  attr_accessor :silent
32
39
  attr_accessor :fail_on_error
33
40
 
34
- @@stopped = false
35
-
36
41
  def initialize(name)
37
42
  @name = name
38
43
  @runner = nil
@@ -61,12 +66,13 @@ module Xlogin
61
66
  if lock
62
67
  task(name => lock)
63
68
  file(lock) do
64
- run_task unless @@stopped
65
- touch(lock, verbose: Rake.application.options.trace) unless @@stopped
69
+ next if RakeTask.stop?
70
+ run_task && touch(lock, verbose: Rake.application.options.trace)
66
71
  end
67
72
  else
68
73
  task(name) do
69
- run_task unless @@stopped
74
+ next if RakeTask.stop?
75
+ run_task
70
76
  end
71
77
  end
72
78
  end
@@ -79,22 +85,27 @@ module Xlogin
79
85
  logger.push buffer if !silent && Rake.application.options.always_multitask
80
86
 
81
87
  session = Xlogin.get(name, log: logger, timeout: timeout)
82
- def session.comment(text, prefix: "[INFO]", **color)
83
- color = {color: :green}.merge(**color)
88
+ def session.msg(text, prefix: "[INFO]", chomp: false, **color)
89
+ default_color = { color: :green }
84
90
 
85
91
  log("\n")
86
92
  log(Time.now.iso8601.colorize(**color) + ' ') if !Rake.application.options.always_multitask
87
- log("#{prefix} #{text}".colorize(**color))
88
- cmd('')
93
+ log("#{prefix} #{text}".colorize(**default_color.merge(color)))
94
+ cmd('') unless chomp
89
95
  end
90
96
 
91
97
  @runner.call(session)
92
98
  $stdout.print format_log(buffer.string)
99
+
100
+ return true
93
101
  rescue => e
94
- session.comment("#{e}", prefix: "[ERROR]", color: :red)
95
- $stderr.print format_log(buffer.string)
102
+ RakeTask.shutdown! if fail_on_error
103
+
104
+ session.msg("#{e}", prefix: "[ERROR]", chomp: true, color: :white, background: :red)
105
+ $stderr.print format_log(buffer.string.colorize(color: :light_red))
106
+ $stderr.print "\n"
96
107
 
97
- @@stopped = true if fail_on_error
108
+ return false
98
109
  ensure
99
110
  session.close rescue nil
100
111
  end
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.12.1"
2
+ VERSION = "0.12.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlogin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-23 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet