simple_speaker 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe50cf1997f06643fc16e295a126956eee13a154
4
- data.tar.gz: 0f5eccabfc06fd816ece147aee9b532496f9ced1
3
+ metadata.gz: 4f5aebea529ae74f706aa3902625a1f88b2f211d
4
+ data.tar.gz: bdf6b17f18ee9a9e6c3169bc8befbc891d89fc1a
5
5
  SHA512:
6
- metadata.gz: acacc4a601289306b751512087cae0fee65e6713cf8a78d8f2ba63746e29746455fdda219049e5d13bca77c822a6e731d070de173a5c6dc0a41f9b674dcaf510
7
- data.tar.gz: ce1d52b1d1880f62d813935b258c5d6c4f6364649ec00120d35815c3a5f03625700afcbcd17190e7c4746a1ed4110a0bd34c143867c821fa1fa39be93eb65ec5
6
+ metadata.gz: 1a7b8a4cdcb6d6ec1c2471fab8c7119c9dd0b7f0552d98c0e43d564ca1eb1fc5a6581980d06bbe6a920ee32b24cd1783eb26e5daf7665dbaefef1a83f27bf197
7
+ data.tar.gz: f7c574ded43bf277808b57cff4a5631c9e9259e22bd55401ed5777e1f0fdbba0d37cddf809216590e62deda1db58341255a9fb4f6522da355bf786cc83ce1d87
@@ -2,25 +2,37 @@ require "simple_speaker/version"
2
2
 
3
3
  module SimpleSpeaker
4
4
  class Speaker
5
- def initialize(logger_path = nil, logger_error_path = nil)
5
+ def initialize(logger_path = nil, logger_error_path = nil, daemon_server = nil, user_input = nil)
6
6
  @logger = Logger.new(logger_path) unless logger_path.nil?
7
7
  @logger_error = Logger.new(logger_error_path) unless logger_error_path.nil?
8
+ @daemon = daemon_server
9
+ @user_input = user_input
8
10
  end
9
11
 
10
12
  def ask_if_needed(question, no_prompt = 0, default = 'y')
11
13
  ask_if_needed = default
12
14
  if no_prompt.to_i == 0
13
15
  self.speak_up(question, 0)
14
- ask_if_needed = STDIN.gets.strip
16
+ if Daemon.is_daemon?
17
+ wtime = 0
18
+ while @user_input.nil?
19
+ sleep 1
20
+ ask_if_needed = @user_input
21
+ break if (wtime += 1) > USER_INPUT_TIMEOUT
22
+ end
23
+ @user_input = nil
24
+ else
25
+ ask_if_needed = STDIN.gets.strip
26
+ end
15
27
  end
16
28
  ask_if_needed
17
29
  end
18
30
 
19
31
  def speak_up(str, in_mail = 1)
20
32
  puts str
21
- $daemon_client.send_data str unless $daemon_client.nil?
33
+ @daemon.send_data "#{str}\n" unless @daemon.nil?
22
34
  @logger.info(str) if @logger
23
- $email_msg += str + NEW_LINE if $email_msg && in_mail.to_i > 0
35
+ Thread.current[:email_msg] += str + NEW_LINE if Thread.current[:email_msg] && in_mail.to_i > 0
24
36
  str
25
37
  end
26
38
 
@@ -30,11 +42,13 @@ module SimpleSpeaker
30
42
 
31
43
  def tell_error(e, src)
32
44
  puts "In #{src}"
45
+ @daemon.send_data "In #{src}\n" unless @daemon.nil?
33
46
  puts e
47
+ @daemon.send_data "#{e}\n" unless @daemon.nil?
34
48
  @logger_error.error("ERROR #{Time.now.utc.to_s} #{src}") if @logger_error
35
49
  @logger_error.error(e) if @logger_error
36
- $email_msg += "ERROR #{Time.now.utc.to_s} #{src}" + NEW_LINE if $email_msg
37
- $email_msg += e.to_s + NEW_LINE if $email_msg
50
+ Thread.current[:email_msg] += "ERROR #{Time.now.utc.to_s} #{src}" + NEW_LINE if Thread.current[:email_msg]
51
+ Thread.current[:email_msg] += e.to_s + NEW_LINE if Thread.current[:email_msg]
38
52
  end
39
53
  end
40
54
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleSpeaker
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_speaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - R
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-07 00:00:00.000000000 Z
11
+ date: 2017-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler