arborist 0.5.0 → 0.6.0

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: 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����|�>�