eye 0.8 → 0.8.1

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
  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)