eye 0.8 → 0.8.1

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: 881c3139243423bac750f9b13715f7a17a05703b
4
- data.tar.gz: 1cfb74cc03c6a05a70df392a5a7871868167e9ec
3
+ metadata.gz: dcb8b4869dbc05dd43d8689f3dac2e2568da2836
4
+ data.tar.gz: 812fb5390734850ae80aa61515f1b989eaa7dfdb
5
5
  SHA512:
6
- metadata.gz: e4e6b73614e4dc6dd54afb12324f15eb31850f9bb0acce786b4f677f63e313a806155afa523b9e10760743a24a2066f7ab948d8872cd039bffb62f74113bf227
7
- data.tar.gz: 75b41b0387f461bf333064e98b869c25279dd73c5911778f95ffc00374fcf5639a6a5d90af0a2fd1a3ceca7e602673570e8cf77e475e760e26dc2b053b432235
6
+ metadata.gz: fb16b8809575fe414f6cce0375071badf60e77b5ede06a4f7e941d4f9dd630c9f010bc3a669106e5789a959f66244df9ca505b8b6b9d1a49f8e5a7dc7302603d
7
+ data.tar.gz: 994e3f4a5444b59ac5d9e33ee7a5d786ef9d1e457b4d161ddc1fa54765b6d7b69a1843fe24a70273019def28fb4b8c0425d7ed516f804fe225d1c6e8029e47a0
data/CHANGES.md CHANGED
@@ -1,3 +1,9 @@
1
+ 0.8.1
2
+ -------
3
+ * allow matching many apps when mask started with '*' (#169)
4
+ * fix potential races in children iterations (#162)
5
+ * remove method truncate (#163)
6
+
1
7
  0.8
2
8
  -------
3
9
  * info, xinfo, oinfo, history now support -j flag, to output json
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
  gem.required_ruby_version = '>= 1.9.2'
20
20
  gem.required_rubygems_version = '>= 1.3.6'
21
21
 
22
- gem.add_dependency 'celluloid', '~> 0.17.2'
22
+ gem.add_dependency 'celluloid', '~> 0.17.3'
23
23
  gem.add_dependency 'celluloid-io', '~> 0.17.0'
24
24
  gem.add_dependency 'state_machine'
25
25
  gem.add_dependency 'thor'
data/lib/eye.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Eye
2
- VERSION = '0.8'
2
+ VERSION = '0.8.1'
3
3
  ABOUT = "Eye v#{VERSION} (c) 2012-2015 @kostya"
4
4
  PROCLINE = "eye monitoring v#{VERSION}"
5
5
 
@@ -82,7 +82,7 @@ class Eye::Checker::Socket < Eye::Checker::Defer
82
82
  end
83
83
 
84
84
  unless match
85
- warn "proc #{expect_data} not matched (#{value[:result].truncate(30)}) answer"
85
+ warn "proc #{expect_data} not matched (#{value[:result].to_s[0..30]}) answer"
86
86
  value[:notice] = 'missing proc validation'
87
87
  end
88
88
 
@@ -92,7 +92,7 @@ class Eye::Checker::Socket < Eye::Checker::Defer
92
92
  return true if expect_data.is_a?(Regexp) && expect_data.match(value[:result])
93
93
  return true if value[:result].to_s == expect_data.to_s
94
94
 
95
- warn "#{expect_data} not matched (#{value[:result].truncate(30)}) answer"
95
+ warn "#{expect_data} not matched (#{value[:result].to_s[0..30]}) answer"
96
96
  value[:notice] = "missing '#{expect_data}'"
97
97
 
98
98
  false
@@ -41,7 +41,7 @@ class Eye::Cli < Thor
41
41
  exit(es)
42
42
  end
43
43
 
44
- desc 'xinfo', 'eye-deamon info (-c show current config)'
44
+ desc 'xinfo', 'eye-daemon info (-c show current config)'
45
45
  method_option :config, type: :boolean, aliases: '-c'
46
46
  method_option :json, type: :boolean, aliases: '-j'
47
47
  def xinfo
@@ -129,7 +129,7 @@ private
129
129
 
130
130
  return apps if apps.size > 0
131
131
 
132
- if objs.map(&:app_name).uniq.size > 1
132
+ if !mask.start_with?('*') && objs.map(&:app_name).uniq.size > 1
133
133
  raise Error, "cannot match targets from different applications: #{res.map(&:full_name)}"
134
134
  end
135
135
  end
@@ -156,10 +156,12 @@ private
156
156
  res << p if p.name =~ r || p.full_name =~ r
157
157
 
158
158
  # children matching
159
- p.children.each_value do |ch|
160
- name = ch.name rescue ''
161
- full_name = ch.full_name rescue ''
162
- res << ch if name =~ r || full_name =~ r
159
+ if (ch = p.children) && (!ch.empty?)
160
+ ch.values.each do |ch|
161
+ name = ch.name rescue ''
162
+ full_name = ch.full_name rescue ''
163
+ res << ch if name =~ r || full_name =~ r
164
+ end
163
165
  end
164
166
  end
165
167
  end
@@ -1,7 +1,7 @@
1
1
  # add gems to $: by `gem` method
2
2
  # this is only way when install eye as system wide
3
3
 
4
- gem 'celluloid', '~> 0.17.2'
4
+ gem 'celluloid', '~> 0.17.3'
5
5
  gem 'celluloid-io', '~> 0.17.0'
6
6
  gem 'nio4r'
7
7
  gem 'timers'
@@ -48,7 +48,7 @@ module Eye::Process::Children
48
48
  end
49
49
 
50
50
  def remove_children
51
- children.each_key { |child_pid| clear_child(child_pid) }
51
+ children.keys.each { |child_pid| clear_child(child_pid) }
52
52
  end
53
53
 
54
54
  def remove_child(child_pid)
@@ -170,7 +170,7 @@ private
170
170
 
171
171
  def daemonize_process
172
172
  res = daemonize(self[:start_command], config)
173
- info "daemonizing: `#{self[:start_command]}` with start_grace: #{self[:start_grace].to_f}s, env: '#{environment_string}'}" \
173
+ info "daemonizing: `#{self[:start_command]}` with start_grace: #{self[:start_grace].to_f}s, env: '#{environment_string}'" \
174
174
  ", <#{res[:pid]}> (in #{self[:working_dir]})"
175
175
 
176
176
  if res[:error]
@@ -57,7 +57,7 @@ module Eye::Process::Data
57
57
 
58
58
  def sub_object?(obj)
59
59
  return false if self.class == Eye::ChildProcess
60
- self.children.each { |_, child| return true if child == obj }
60
+ self.children.values.each { |child| return true if child == obj }
61
61
  false
62
62
  end
63
63
 
@@ -11,7 +11,7 @@ class Eye::Trigger::StopChildren < Eye::Trigger
11
11
 
12
12
  def check(_trans)
13
13
  debug { 'stopping children' }
14
- process.children.pmap { |_pid, c| c.stop }
14
+ process.children.values.pmap &:stop
15
15
  end
16
16
 
17
17
  end
@@ -37,10 +37,6 @@ class String
37
37
  word.downcase!
38
38
  word
39
39
  end
40
-
41
- def truncate(l)
42
- self[0..l]
43
- end
44
40
  end
45
41
 
46
42
  class Array
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eye
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Makarchev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-22 00:00:00.000000000 Z
11
+ date: 2016-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: celluloid
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.17.2
19
+ version: 0.17.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.17.2
26
+ version: 0.17.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: celluloid-io
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -469,7 +469,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
469
469
  version: 1.3.6
470
470
  requirements: []
471
471
  rubyforge_project:
472
- rubygems_version: 2.4.5
472
+ rubygems_version: 2.4.7
473
473
  signing_key:
474
474
  specification_version: 4
475
475
  summary: Process monitoring tool. Inspired from Bluepill and God. Requires Ruby(MRI)