arborist 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: c26cccca966e48b6453e1e9ff531d67a0aaf3f8db0b7039b5813493bad362dba
4
- data.tar.gz: '08c9aa0a7dedd5c8ebc9b53b861ca6ac367c6f9708a2d18af32ad5858a6aef20'
3
+ metadata.gz: 90ea26c2dfc80ceb5292b6999eb601c16ed3931c3a17606231bba831ff1cf211
4
+ data.tar.gz: d743f218280f06579d695955eb49cdae647960f5e4da8757422aee6a57621210
5
5
  SHA512:
6
- metadata.gz: ce6fd29af320dead516687333728c4b2a807314566e955ef16fb098d9c2213528332691e64122bb327103e12645e993bd02a4717e272bef51b5ad6adf82ea8d8
7
- data.tar.gz: ee8625c1284c077be2171897d62bdc6908da998c971d763c010c6c4ca087b8d94a3f264d084fa708e4cccd616ea5b6c4692fa3fcfe44bdab99c80960e4f670f6
6
+ metadata.gz: 811c253b0ea8b0704fcb3ec419e42539aed7684f6cffbd25a8cdfefe2017e48ecb84bc435ef525fcfe7ae83bc440cba19ee153ce890435c98ea9189da2de3533
7
+ data.tar.gz: cc3a0b5f81d95577045dd898cd19b9939ea6254e2f88eaaf2e52f7a2ade739df5b326689bc66f7e310695a3664798d40eb5d2ad21387566f16e39273e2531a74
Binary file
data.tar.gz.sig CHANGED
Binary file
data/History.md CHANGED
@@ -1,3 +1,14 @@
1
+ # Release History for arborist
2
+
3
+ ---
4
+
5
+ ## v0.6.0 [2020-04-28] Michael Granger <ged@faeriemud.org>
6
+
7
+ - Minor changes for Ruby > 2.6 compatibility.
8
+ - Ignore interrupt signals in the reactor.
9
+ - Add some more feedback to run_once output.
10
+
11
+
1
12
  ## v0.5.0 [2019-03-06] Michael Granger <ged@FaerieMUD.org>
2
13
 
3
14
  Enhancements:
data/README.md CHANGED
@@ -36,7 +36,7 @@ it like so:
36
36
  ## Contributing
37
37
 
38
38
  You can check out the current development source with Mercurial via its
39
- [project page](http://bitbucket.org/ged/Arborist). Or if you prefer Git, via
39
+ [project page](http://bitbucket.org/ged/Arborist). Or if you prefer Git, via
40
40
  [its Github mirror](https://github.com/ged/arborist).
41
41
 
42
42
  After checking out the source, run:
@@ -47,6 +47,12 @@ This task will install any missing dependencies, run the tests/specs,
47
47
  and generate the API documentation.
48
48
 
49
49
 
50
+ ## Authors
51
+
52
+ - Michael Granger <ged@faeriemud.org>
53
+ - Mahlon E. Smith <mahlon@martini.nu>
54
+
55
+
50
56
  ## License
51
57
 
52
58
  Copyright (c) 2015-2018, Michael Granger and Mahlon E. Smith
data/Rakefile CHANGED
@@ -1,118 +1,14 @@
1
- #!/usr/bin/env rake
1
+ #!/usr/bin/env ruby -S rake
2
2
 
3
- require 'pathname'
4
- require 'rake/clean'
3
+ require 'rake/deveiate'
5
4
 
6
- begin
7
- require 'hoe'
8
- rescue LoadError
9
- abort "This Rakefile requires hoe (gem install hoe)"
10
- end
11
-
12
- GEMSPEC = 'arborist.gemspec'
13
-
14
- BASEDIR = Pathname( __FILE__ ).dirname
15
- LIBDIR = BASEDIR + 'lib'
16
- NODE_STATE_GRAPH = BASEDIR + 'node-state-machine.dot'
17
-
18
-
19
- Hoe.plugin :mercurial
20
- Hoe.plugin :signing
21
- Hoe.plugin :deveiate
22
-
23
- Hoe.plugins.delete :rubyforge
24
-
25
-
26
- hoespec = Hoe.spec 'arborist' do |spec|
27
- spec.readme_file = 'README.md'
28
- spec.history_file = 'History.md'
29
- spec.extra_rdoc_files = FileList[ '*.rdoc', '*.md' ]
30
- spec.license 'BSD-3-Clause'
31
- spec.urls = {
32
- home: 'http://deveiate.org/projects/arborist',
33
- code: 'http://bitbucket.org/ged/arborist',
34
- docs: 'http://deveiate.org/code/arborist',
35
- github: 'http://github.com/ged/arborist',
36
- }
37
-
38
- spec.developer 'Michael Granger', 'ged@FaerieMUD.org'
39
- spec.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
40
-
41
- spec.dependency 'schedulability', '~> 0.4'
42
- spec.dependency 'loggability', '~> 0.12'
43
- spec.dependency 'configurability', '~> 3.0'
44
- spec.dependency 'pluggability', '~> 0.4'
45
- spec.dependency 'state_machines', '~> 0.5'
46
- spec.dependency 'msgpack', '~> 1.0'
47
- spec.dependency 'cztop', '~> 0.11'
48
- spec.dependency 'cztop-reactor', '~> 0.3'
49
- spec.dependency 'gli', '~> 2.3'
50
- spec.dependency 'tty', '~> 0.7'
51
- spec.dependency 'tty-tree', '~> 0.1'
52
- spec.dependency 'pry', '~> 0.11'
53
-
54
- spec.dependency 'rspec', '~> 3.2', :developer
55
- spec.dependency 'rspec-wait', '~> 0.0', :developer
56
- spec.dependency 'simplecov', '~> 0.9', :developer
57
- spec.dependency 'timecop', '~> 0.7', :developer
58
- spec.dependency 'rdoc', '~> 5.1', :developer
59
- spec.dependency 'state_machines-graphviz', '~> 0.0', :developer
60
-
61
- spec.require_ruby_version( '>=2.3.1' )
62
- spec.hg_sign_tags = true if spec.respond_to?( :hg_sign_tags= )
63
-
64
- spec.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
65
- end
5
+ NODE_STATE_GRAPH = Rake::DevEiate::PROJECT_DIR + 'node-state-machine.dot'
66
6
 
67
7
 
68
- ENV['VERSION'] ||= hoespec.spec.version.to_s
69
-
70
- # Run the tests before checking in
71
- task 'hg:precheckin' => [ :check_history, :check_manifest, :gemspec, :spec ]
72
-
73
- # Rebuild the ChangeLog immediately before release
74
- task :prerelease => 'ChangeLog'
75
- CLOBBER.include( 'ChangeLog' )
76
-
77
- desc "Build a coverage report"
78
- task :coverage do
79
- ENV["COVERAGE"] = 'yes'
80
- Rake::Task[:spec].invoke
81
- end
82
-
83
-
84
- # Use the fivefish formatter for docs generated from development checkout
85
- if File.directory?( '.hg' )
86
- require 'rdoc/task'
87
-
88
- Rake::Task[ 'docs' ].clear
89
- RDoc::Task.new( 'docs' ) do |rdoc|
90
- rdoc.main = "README.md"
91
- rdoc.rdoc_files.include( "*.rdoc", "*.md", "ChangeLog", "lib/**/*.rb" )
92
- rdoc.generator = :fivefish
93
- rdoc.title = 'Arborist'
94
- rdoc.rdoc_dir = 'doc'
95
- end
8
+ Rake::DevEiate.setup( 'arborist' ) do |project|
9
+ project.publish_to = 'deveiate:/usr/local/www/public/code'
96
10
  end
97
11
 
98
- file 'Manifest.txt'
99
-
100
- task :gemspec => [ 'ChangeLog', __FILE__, 'Manifest.txt', GEMSPEC ]
101
- file GEMSPEC => __FILE__ do |task|
102
- spec = $hoespec.spec
103
- spec.files.delete( '.gemtest' )
104
- spec.files.delete( 'LICENSE' )
105
- spec.signing_key = nil
106
- spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
107
- #spec.cert_chain = [ 'certs/ged.pem' ]
108
- File.open( task.name, 'w' ) do |fh|
109
- fh.write( spec.to_ruby )
110
- end
111
- end
112
- CLOBBER.include( GEMSPEC )
113
-
114
- task :default => :gemspec
115
-
116
12
 
117
13
  file NODE_STATE_GRAPH
118
14
 
@@ -130,9 +26,8 @@ task NODE_STATE_GRAPH do |task|
130
26
  graph = state_machine.draw( path: BASEDIR.to_s, name: name, format: 'dot' )
131
27
  # graph.output
132
28
  end
29
+ task :diagrams => [ NODE_STATE_GRAPH ]
133
30
 
134
31
  CLEAN.include( NODE_STATE_GRAPH.to_s )
135
32
 
136
33
 
137
- task :diagrams => [ NODE_STATE_GRAPH ]
138
-
@@ -14,7 +14,7 @@ module Arborist
14
14
  Configurability
15
15
 
16
16
  # Package version
17
- VERSION = '0.5.0'
17
+ VERSION = '0.6.0'
18
18
 
19
19
  # Version control revision
20
20
  REVISION = %q$Revision$
@@ -88,7 +88,7 @@ module Arborist
88
88
  ### Add a constructor function to the Arborist namespace called +name+
89
89
  ### with the specified +method_body+.
90
90
  def self::add_dsl_constructor( subclass, &method_body )
91
- name = subclass.name
91
+ name = subclass.name.dup
92
92
 
93
93
  if name
94
94
  name.sub!( /.*::/, '' )
@@ -259,6 +259,30 @@ module Arborist::CLI
259
259
  end
260
260
 
261
261
 
262
+ # Use this if the following command should not have the pre block executed.
263
+ # By default, the pre block is executed before each command and can result in
264
+ # aborting the call. Using this will avoid that behavior for the following command
265
+ def skips_pre
266
+ @skips_pre = true
267
+ end
268
+
269
+
270
+ # Use this if the following command should not have the post block executed.
271
+ # By default, the post block is executed after each command.
272
+ # Using this will avoid that behavior for the following command
273
+ def skips_post
274
+ @skips_post = true
275
+ end
276
+
277
+
278
+ # Use this if the following command should not have the around block executed.
279
+ # By default, the around block is executed, but for commands that might not want the
280
+ # setup to happen, this can be handy
281
+ def skips_around
282
+ @skips_around = true
283
+ end
284
+
285
+
262
286
  ###############
263
287
  module_function
264
288
  ###############
@@ -200,8 +200,8 @@ class Arborist::Client
200
200
 
201
201
 
202
202
  ### Remove a node
203
- def prune( *args )
204
- request = self.make_prune_request( *args )
203
+ def prune( **args )
204
+ request = self.make_prune_request( **args )
205
205
  response = self.send_tree_api_request( request )
206
206
  return response
207
207
  end
@@ -217,8 +217,8 @@ class Arborist::Client
217
217
 
218
218
 
219
219
  ### Add a new node to the tree.
220
- def graft( *args )
221
- request = self.make_graft_request( *args )
220
+ def graft( **args )
221
+ request = self.make_graft_request( **args )
222
222
  response = self.send_tree_api_request( request )
223
223
  return response
224
224
  end
@@ -240,8 +240,8 @@ class Arborist::Client
240
240
 
241
241
 
242
242
  ### Modify operational attributes of a node.
243
- def modify( *args )
244
- request = self.make_modify_request( *args )
243
+ def modify( **args )
244
+ request = self.make_modify_request( **args )
245
245
  self.send_tree_api_request( request )
246
246
  return true
247
247
  end
@@ -261,8 +261,8 @@ class Arborist::Client
261
261
  ### +identifier+, an acknowledgement +message+, and +sender+. You
262
262
  ### can optionally include a +via+ (source), and override the default
263
263
  ### +time+ of now.
264
- def acknowledge( *args )
265
- request = self.make_acknowledge_request( *args )
264
+ def acknowledge( **args )
265
+ request = self.make_acknowledge_request( **args )
266
266
  self.send_tree_api_request( request )
267
267
  return true
268
268
  end
@@ -284,8 +284,8 @@ class Arborist::Client
284
284
 
285
285
 
286
286
  ### Clear the acknowledgement for a node.
287
- def clear_acknowledgement( *args )
288
- request = self.make_unack_request( *args )
287
+ def clear_acknowledgement( **args )
288
+ request = self.make_unack_request( **args )
289
289
  self.send_tree_api_request( request )
290
290
  return true
291
291
  end
@@ -8,6 +8,8 @@ require 'arborist/cli' unless defined?( Arborist::CLI )
8
8
  module Arborist::CLI::Config
9
9
  extend Arborist::CLI::Subcommand
10
10
 
11
+ skips_pre
12
+
11
13
  desc 'Dump a default Arborist config file'
12
14
  command :config do |cmd|
13
15
 
@@ -42,8 +42,9 @@ module Arborist::CLI::RunOnce
42
42
  properties: monitor.node_properties
43
43
  )
44
44
 
45
- desc = "running %p against %d nodes" % [ monitor, nodes.length ]
45
+ desc = "Running %p against %d nodes" % [ monitor.description, nodes.length ]
46
46
  unless_dryrun( desc ) do
47
+ prompt.say( hl.headline(desc) )
47
48
  prompt.say( highlight_string(monitor.description) )
48
49
  results = monitor.run( nodes )
49
50
  display_results( results )
@@ -323,7 +323,7 @@ module Arborist
323
323
  newhash = {}
324
324
 
325
325
  hash.each do |key,val|
326
- keysym = key.to_s.dup.untaint.to_sym
326
+ keysym = key.to_s.dup.to_sym
327
327
 
328
328
  if val.is_a?( Hash )
329
329
  newhash[ keysym ] = symbolify_keys( val )
@@ -87,7 +87,7 @@ class Arborist::MonitorRunner
87
87
 
88
88
  self.with_signal_handler( self.reactor, *QUEUE_SIGS ) do
89
89
  self.reactor.register( self.client.tree_api, :write, &self.method(:handle_io_event) )
90
- self.reactor.start_polling
90
+ self.reactor.start_polling( ignore_interrupts: true )
91
91
  end
92
92
  end
93
93
 
@@ -1201,6 +1201,7 @@ class Arborist::Node
1201
1201
  @status_last_changed = Time.parse( hash[:status_last_changed] )
1202
1202
  @status_history = hash[:status_history]
1203
1203
  @flapping = hash[:flapping]
1204
+ @status_history_size = nil
1204
1205
  @ack = Arborist::Node::Ack.from_hash( hash[:ack] ) if hash[:ack]
1205
1206
 
1206
1207
  @errors = hash[:errors]
@@ -92,7 +92,7 @@ class Arborist::Node::Host < Arborist::Node
92
92
  def address( new_address )
93
93
  self.log.debug "Adding address %p to %p" % [ new_address, self ]
94
94
 
95
- if new_address =~ /^[[:alnum:]][a-z0-9\-]+/i && ! @hostname
95
+ if new_address.to_s =~ /^[[:alnum:]][a-z0-9\-]+/i && ! @hostname
96
96
  @hostname = new_address
97
97
  end
98
98
 
@@ -126,7 +126,7 @@ class Arborist::Node::Host < Arborist::Node
126
126
  #
127
127
 
128
128
  ### Return a Hash of the host node's state.
129
- def to_h( * )
129
+ def to_h( ** )
130
130
  return super.merge(
131
131
  hostname: @hostname,
132
132
  addresses: self.addresses.map(&:to_s)
@@ -171,7 +171,7 @@ class Arborist::Node::Service < Arborist::Node
171
171
  #
172
172
 
173
173
  ### Return a Hash of the host node's state.
174
- def to_h( * )
174
+ def to_h( ** )
175
175
  return super.merge(
176
176
  addresses: self.addresses.map(&:to_s),
177
177
  protocol: self.protocol,
@@ -114,14 +114,14 @@ class Arborist::Observer
114
114
 
115
115
 
116
116
  ### Register an action that will be taken when a subscribed event is received.
117
- def action( options={}, &block )
118
- @actions << Arborist::Observer::Action.new( options, &block )
117
+ def action( **options, &block )
118
+ @actions << Arborist::Observer::Action.new( **options, &block )
119
119
  end
120
120
 
121
121
 
122
122
  ### Register a summary action.
123
- def summarize( options={}, &block )
124
- @actions << Arborist::Observer::Summarize.new( options, &block )
123
+ def summarize( **options, &block )
124
+ @actions << Arborist::Observer::Summarize.new( **options, &block )
125
125
  end
126
126
 
127
127
 
@@ -170,7 +170,8 @@ class Arborist::ObserverRunner
170
170
  def add_observer( observer )
171
171
  self.log.info "Adding observer: %s" % [ observer.description ]
172
172
  observer.subscriptions.each do |sub|
173
- subid = self.client.subscribe( sub )
173
+ self.log.debug "HI: %p" % [ sub ]
174
+ subid = self.client.subscribe( **sub )
174
175
  self.subscriptions[ subid ] = observer
175
176
  self.client.event_api.subscribe( subid )
176
177
  self.log.debug " subscribed to %p with subscription %s" % [ sub, subid ]
@@ -390,7 +390,7 @@ describe Arborist::Client do
390
390
  it "acking raises an appropriate error when it's missing arguments" do
391
391
  expect {
392
392
  client.acknowledge( identifier: 'sidonie', message: "I'm on it." )
393
- }.to raise_error( ArgumentError, /missing keyword: sender/ )
393
+ }.to raise_error( ArgumentError, /missing keyword: :?sender/ )
394
394
  end
395
395
  end
396
396
 
@@ -55,7 +55,7 @@ describe Arborist::MonitorRunner do
55
55
  runner.monitors.replace([ mon1 ])
56
56
 
57
57
  expect( reactor ).to receive( :add_periodic_timer ).with( mon1.interval )
58
- expect( reactor ).to receive( :start_polling )
58
+ expect( reactor ).to receive( :start_polling ).with( ignore_interrupts: true )
59
59
 
60
60
  runner.run
61
61
  end
@@ -67,7 +67,7 @@ describe Arborist::MonitorRunner do
67
67
  expect( reactor ).to receive( :add_oneshot_timer ).
68
68
  with( a_value_between(0, mon2.splay) ).and_yield
69
69
  expect( reactor ).to receive( :add_periodic_timer ).with( mon2.interval )
70
- expect( reactor ).to receive( :start_polling )
70
+ expect( reactor ).to receive( :start_polling ).with( ignore_interrupts: true )
71
71
 
72
72
  runner.run
73
73
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arborist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -12,8 +12,8 @@ cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
14
  MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdtYWhs
15
- b24vREM9bWFydGluaS9EQz1udTAeFw0xODEyMDkwMzMxNTJaFw0xOTEyMDkwMzMx
16
- NTJaMCIxIDAeBgNVBAMMF21haGxvbi9EQz1tYXJ0aW5pL0RDPW51MIIBojANBgkq
15
+ b24vREM9bWFydGluaS9EQz1udTAeFw0yMDAyMTkyMTU4NDBaFw0yMTAyMTgyMTU4
16
+ NDBaMCIxIDAeBgNVBAMMF21haGxvbi9EQz1tYXJ0aW5pL0RDPW51MIIBojANBgkq
17
17
  hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3cz7ILM8n+Y5nvz7mVRVqE8LusWdT8NX
18
18
  nlnETynDndenI+a2S3j22DR+U4ooGUjuCHE3iR1CVmTDGbxFfNRfmnC1AN9Hybat
19
19
  ewW+onvMBye7yfO0bJB5vkqaW5vd35rzquOffgBtJMo7rPRu6pX8RkL34Wnew4J7
@@ -25,17 +25,17 @@ cert_chain:
25
25
  RiCamNbET4Sq9VIYwYtcB1f6EataqFEhAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
26
26
  VR0PBAQDAgSwMB0GA1UdDgQWBBR8KtAhZIhe2uPQHCgU5HurIG7crTAcBgNVHREE
27
27
  FTATgRFtYWhsb25AbWFydGluaS5udTAcBgNVHRIEFTATgRFtYWhsb25AbWFydGlu
28
- aS5udTANBgkqhkiG9w0BAQsFAAOCAYEABMyF43FOfY+DULlLbR/S6k62DxsJn6dA
29
- YE1DI0o/IGN9t6ga7iQT944HM3gg1AIsONBvFwU31/VLG3Pp91k6YVEQvZITKBOz
30
- EVjhTfKBvoqWyuwMKCYn9ZtCASfZDFec7SMsgwIbKuncb6RKjH9cYauuDOtd55lC
31
- pie+OmOF330StWH/Z/WY5WiRGstpL5/Qk0y4NMqcV/T59fNIVNxG4k5/VNgVYQIM
32
- 4Yrvx5tkYPIvPOroIGfDu6CfrQVNg4QJrQN2LZmXGoEV47v1kdV9kMAeFDBkTmPS
33
- XqnsRK6X7WhFON8/7CliGvF+T8dmfGJS5R46x7FIzendFMA6pY4IknfGEabzyL9O
34
- 8IIu155/luqHPnzYLlRi4n+hzwkwGh9erCmbMqrsATqVf4C20H7EAOlDlhmNDqiV
35
- g3nSb5geweeDxf7Phf3qyZgglWB4UGR0aUkzOwj6yFj1ugCU2R7CwNhqgmtdkvYm
36
- tuLuv1oCfpuEmRh93FiLFsOLV3auiU+c
28
+ aS5udTANBgkqhkiG9w0BAQsFAAOCAYEAHXlLXIKQUjd0VYj2mPgMheMjLEtmhHu+
29
+ 7NdIv8Bz4rpKAdhypy30xjukGLTOKBp1C0TjfHXowW/icK0bv9CO9Chbc09/+Ed2
30
+ K5IsyENen+YLeLfE8dguq5tHlfocbFilRGHt8BHHO9BpPpAYoPt/76SCC2NaU5vN
31
+ 33YTCpaVP0raS6E4i+xtx5PNdKoeTdrgwCQtUBhGf3L9YbZy1UaSeAyng5keuOzV
32
+ Mu2osihEB0GE0pOZJNpI6ow+0emwN/XvBKHpN9D2bjbvKetyQSrm0OniaZBXIGzW
33
+ Bg0JmajxUaGYWnz+QFADT+HLPmekxF3mB4+0ymZCHKPC+04h6RDjvkEOji6Jm+VB
34
+ JHjnceUEejSXTkZAKAmiOAtnX4j1MM1DLiFMlZ5Wbt7hbiOiO5HoN9p9snZhYqSU
35
+ JyAQQloqY/KyzQqxPlKdMNmBxRU+Cdarp05lEI6Sfj9MdrndoIL6MT/f6PgoCWZQ
36
+ xEarK1Fn47yS4UZqRi6VgKc3JHscX9x4
37
37
  -----END CERTIFICATE-----
38
- date: 2019-03-13 00:00:00.000000000 Z
38
+ date: 2020-04-28 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: schedulability
@@ -57,28 +57,28 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.12'
60
+ version: '0.15'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.12'
67
+ version: '0.15'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: configurability
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.0'
74
+ version: '4.0'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '3.0'
81
+ version: '4.0'
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: pluggability
84
84
  requirement: !ruby/object:Gem::Requirement
@@ -164,103 +164,103 @@ dependencies:
164
164
  - !ruby/object:Gem::Version
165
165
  version: '2.3'
166
166
  - !ruby/object:Gem::Dependency
167
- name: tty
167
+ name: tty-prompt
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '0.7'
172
+ version: '0.18'
173
173
  type: :runtime
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '0.7'
179
+ version: '0.18'
180
180
  - !ruby/object:Gem::Dependency
181
- name: tty-tree
181
+ name: tty-spinner
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '0.1'
186
+ version: '0.9'
187
187
  type: :runtime
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '0.1'
193
+ version: '0.9'
194
194
  - !ruby/object:Gem::Dependency
195
- name: pry
195
+ name: tty-table
196
196
  requirement: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: '0.11'
200
+ version: '0.10'
201
201
  type: :runtime
202
202
  prerelease: false
203
203
  version_requirements: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - "~>"
206
206
  - !ruby/object:Gem::Version
207
- version: '0.11'
207
+ version: '0.10'
208
208
  - !ruby/object:Gem::Dependency
209
- name: hoe-mercurial
209
+ name: tty-tree
210
210
  requirement: !ruby/object:Gem::Requirement
211
211
  requirements:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
- version: '1.4'
215
- type: :development
214
+ version: '0.2'
215
+ type: :runtime
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '1.4'
221
+ version: '0.2'
222
222
  - !ruby/object:Gem::Dependency
223
- name: hoe-deveiate
223
+ name: pry
224
224
  requirement: !ruby/object:Gem::Requirement
225
225
  requirements:
226
226
  - - "~>"
227
227
  - !ruby/object:Gem::Version
228
- version: '0.10'
229
- type: :development
228
+ version: '0.11'
229
+ type: :runtime
230
230
  prerelease: false
231
231
  version_requirements: !ruby/object:Gem::Requirement
232
232
  requirements:
233
233
  - - "~>"
234
234
  - !ruby/object:Gem::Version
235
- version: '0.10'
235
+ version: '0.11'
236
236
  - !ruby/object:Gem::Dependency
237
- name: hoe-highline
237
+ name: rake-deveiate
238
238
  requirement: !ruby/object:Gem::Requirement
239
239
  requirements:
240
240
  - - "~>"
241
241
  - !ruby/object:Gem::Version
242
- version: '0.2'
242
+ version: '0.9'
243
243
  type: :development
244
244
  prerelease: false
245
245
  version_requirements: !ruby/object:Gem::Requirement
246
246
  requirements:
247
247
  - - "~>"
248
248
  - !ruby/object:Gem::Version
249
- version: '0.2'
249
+ version: '0.9'
250
250
  - !ruby/object:Gem::Dependency
251
251
  name: rspec
252
252
  requirement: !ruby/object:Gem::Requirement
253
253
  requirements:
254
254
  - - "~>"
255
255
  - !ruby/object:Gem::Version
256
- version: '3.2'
256
+ version: '3.8'
257
257
  type: :development
258
258
  prerelease: false
259
259
  version_requirements: !ruby/object:Gem::Requirement
260
260
  requirements:
261
261
  - - "~>"
262
262
  - !ruby/object:Gem::Version
263
- version: '3.2'
263
+ version: '3.8'
264
264
  - !ruby/object:Gem::Dependency
265
265
  name: rspec-wait
266
266
  requirement: !ruby/object:Gem::Requirement
@@ -303,20 +303,6 @@ dependencies:
303
303
  - - "~>"
304
304
  - !ruby/object:Gem::Version
305
305
  version: '0.7'
306
- - !ruby/object:Gem::Dependency
307
- name: rdoc
308
- requirement: !ruby/object:Gem::Requirement
309
- requirements:
310
- - - "~>"
311
- - !ruby/object:Gem::Version
312
- version: '5.1'
313
- type: :development
314
- prerelease: false
315
- version_requirements: !ruby/object:Gem::Requirement
316
- requirements:
317
- - - "~>"
318
- - !ruby/object:Gem::Version
319
- version: '5.1'
320
306
  - !ruby/object:Gem::Dependency
321
307
  name: state_machines-graphviz
322
308
  requirement: !ruby/object:Gem::Requirement
@@ -331,35 +317,15 @@ dependencies:
331
317
  - - "~>"
332
318
  - !ruby/object:Gem::Version
333
319
  version: '0.0'
334
- - !ruby/object:Gem::Dependency
335
- name: hoe
336
- requirement: !ruby/object:Gem::Requirement
337
- requirements:
338
- - - "~>"
339
- - !ruby/object:Gem::Version
340
- version: '3.17'
341
- type: :development
342
- prerelease: false
343
- version_requirements: !ruby/object:Gem::Requirement
344
- requirements:
345
- - - "~>"
346
- - !ruby/object:Gem::Version
347
- version: '3.17'
348
- description: |-
349
- Arborist is a monitoring toolkit that follows the UNIX philosophy
350
- of small parts and loose coupling for stability, reliability, and
351
- customizability.
320
+ description: Arborist is a monitoring toolkit that follows the UNIX philosophy of
321
+ small parts and loose coupling for stability, reliability, and customizability.
352
322
  email:
353
- - ged@FaerieMUD.org
323
+ - ged@faeriemud.org
354
324
  - mahlon@martini.nu
355
325
  executables:
356
326
  - arborist
357
327
  extensions: []
358
- extra_rdoc_files:
359
- - History.md
360
- - Manifest.txt
361
- - README.md
362
- - TODO.md
328
+ extra_rdoc_files: []
363
329
  files:
364
330
  - ".document"
365
331
  - ".simplecov"
@@ -456,29 +422,30 @@ files:
456
422
  - spec/data/observers/auditor.rb
457
423
  - spec/data/observers/webservices.rb
458
424
  - spec/spec_helper.rb
459
- homepage: http://deveiate.org/projects/arborist
425
+ homepage: http://deveiate.org/projects/Arborist
460
426
  licenses:
461
427
  - BSD-3-Clause
462
- metadata: {}
428
+ metadata:
429
+ homepage_uri: http://deveiate.org/projects/Arborist
430
+ documentation_uri: http://deveiate.org/code/arborist
431
+ changelog_uri: http://deveiate.org/code/arborist/History_md.html
432
+ source_uri: http://bitbucket.org/ged/Arborist
463
433
  post_install_message:
464
- rdoc_options:
465
- - "--main"
466
- - README.md
434
+ rdoc_options: []
467
435
  require_paths:
468
436
  - lib
469
437
  required_ruby_version: !ruby/object:Gem::Requirement
470
438
  requirements:
471
439
  - - ">="
472
440
  - !ruby/object:Gem::Version
473
- version: 2.3.1
441
+ version: '0'
474
442
  required_rubygems_version: !ruby/object:Gem::Requirement
475
443
  requirements:
476
444
  - - ">="
477
445
  - !ruby/object:Gem::Version
478
446
  version: '0'
479
447
  requirements: []
480
- rubyforge_project:
481
- rubygems_version: 2.7.8
448
+ rubygems_version: 3.1.2
482
449
  signing_key:
483
450
  specification_version: 4
484
451
  summary: Arborist is a monitoring toolkit that follows the UNIX philosophy of small
metadata.gz.sig CHANGED
@@ -1,2 +1,3 @@
1
- Ҳ��?M[��zx�������ynȮ]�Z�L$��Q>�MS�(��
2
- �>��ٕ��<�4p�f���_
1
+ �>�;a���kʔ��Xj��
2
+ TS��z
3
+ �T�Gd9+K��L=!Œ�E�N�d~"�"5ܤ؏�nH$]p����Ȅ���"X|�Z:�DV�ML }��o��owG����|�>�