network_tester 0.1.5 → 0.1.7

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: 8947ce14d7595e568b9f368c364db9ae683f56d5b48c62d0940007fae7dc3dd6
4
- data.tar.gz: 8cc92e0b8b48e2a7107ae49bc1b8d28cb6e13c8d13b0bff448a06ae3ae04e576
3
+ metadata.gz: 3d981a82ffbaed7c2de639e754bf576cc84bd110ea735750a9c74b162d31889e
4
+ data.tar.gz: 34bf36d32fc919dc0b0dbf51e390db420d7bc3607512f1768273bf5fa537fae0
5
5
  SHA512:
6
- metadata.gz: da2d5a2d29c84182638872f91b97f92cc522a7c9bb0356f5755235ea22674e6e56aaf8822b1eac1561d6aa77b706166e51513673110269623791edf483aeb520
7
- data.tar.gz: 63aa230300bd7dbb273ffd0b2bac36900e57739869d9b1bb56054052a13b0577f22ff07aaf8fd3acffa1777ac71305f82b643fd73d8abf5d013535dc01d3bd9a
6
+ metadata.gz: ff0da3b02794ba829b41ac98f646ed30a5faa55c55258c615b99d60c681698352f17e03de7f91973d98a2fd82e1b9c92e54dfa7d27ef536a6a67ef4cc9070636
7
+ data.tar.gz: dbed8732f9f572a905b084aec1f624f0d909f6c3df998c35120cbdfb3419c1fcf4330db78290c98fb762302d9e34282f7954337c6734a8ccda10192a3d155642
data/.gitignore CHANGED
@@ -7,3 +7,5 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ .claude
11
+ network_tester-*
data/README.md CHANGED
@@ -1,21 +1,15 @@
1
1
  # NetworkTester
2
2
 
3
- Announces the number of milliseconds it takes for a ping response. Can pass the millisecond threshold before announcement.
3
+ Announces the number of milliseconds it takes for a ping response. When the ping exceeds a configurable threshold, it alerts you audibly (speech on Mac, terminal bell on Linux).
4
4
 
5
5
  When diagnosing network issues, you may want to plug and unplug ethernet cables to search for a problem. The genesis of this project is I wanted a way to do this without carrying my laptop around and looking at it all the time.
6
6
 
7
- On a Mac, the number of milliseconds taken by the ping is announced. On Linux, I believe there is an audible beep when the ping takes longer than the threshold. (Untested.)
7
+ On a Mac, the number of milliseconds taken by the ping is spoken aloud. On Linux, a terminal bell and text warning are printed when the ping exceeds the threshold.
8
8
 
9
9
  ## Installation
10
10
 
11
- Install it to get the bin file:
12
-
13
11
  $ gem install network_tester
14
12
 
15
- OR, if you don't have rvm/rbenv installed, you may need to get it this way:
16
-
17
- $ sudo gem install network_tester
18
-
19
13
  Or add this line to your application's Gemfile:
20
14
 
21
15
  ```ruby
@@ -30,7 +24,22 @@ And then execute:
30
24
 
31
25
  After installing the gem, you may need to open a new shell, and then type:
32
26
 
33
- network_tester [millisecond_threshold=70] [ipaddr=google.com]
27
+ network_tester [options]
28
+ network_tester [maxtime] [address]
29
+
30
+ ### Options
31
+
32
+ -a, --address ADDRESS Host to ping (default: google.com)
33
+ -m, --maxtime MS Alert threshold in ms (default: 70)
34
+ -h, --help Show help message
35
+ -v, --version Show version
36
+
37
+ ### Examples
38
+
39
+ network_tester # ping google.com, alert above 70ms
40
+ network_tester 100 # ping google.com, alert above 100ms
41
+ network_tester 100 8.8.8.8 # ping 8.8.8.8, alert above 100ms
42
+ network_tester -a 8.8.8.8 -m 100 # same, using named options
34
43
 
35
44
  ## Development
36
45
 
@@ -40,10 +49,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
40
49
 
41
50
  ## Contributing
42
51
 
43
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/network_tester.
44
-
52
+ Bug reports and pull requests are welcome on GitHub at https://github.com/brianmd/network_tester.
45
53
 
46
54
  ## License
47
55
 
48
56
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
49
-
data/bin/network_tester CHANGED
@@ -1,14 +1,46 @@
1
1
  #!/usr/bin/env ruby
2
- require 'pathname'
2
+ require "optparse"
3
+ require_relative "../lib/network_tester"
3
4
 
4
- $LOAD_PATH.unshift Pathname.new(__FILE__).dirname + '..'
5
+ options = {
6
+ maxtime: 70,
7
+ address: "google.com"
8
+ }
5
9
 
6
- require_relative '../lib/network_tester'
10
+ OptionParser.new do |opts|
11
+ opts.banner = <<~BANNER
12
+ Usage: network_tester [options]
13
+ network_tester [maxtime] [address]
7
14
 
8
- default_maxtime = 70
9
- ipaddr = 'google.com'
15
+ Examples:
16
+ network_tester # ping google.com, alert above 70ms
17
+ network_tester 100 # ping google.com, alert above 100ms
18
+ network_tester 100 8.8.8.8 # ping 8.8.8.8, alert above 100ms
10
19
 
11
- default_maxtime = Integer(ARGV[0]) if ARGV.size>0
12
- ipaddr = ARGV[1] if ARGV.size>1
20
+ Options:
21
+ BANNER
13
22
 
14
- NetworkTester::loop(nil, ipaddr, default_maxtime)
23
+ opts.on("-a", "--address ADDRESS", "Host to ping (default: google.com)") do |addr|
24
+ options[:address] = addr
25
+ end
26
+
27
+ opts.on("-m", "--maxtime MS", Integer, "Alert threshold in ms (default: 70)") do |ms|
28
+ options[:maxtime] = ms
29
+ end
30
+
31
+ opts.on("-h", "--help", "Show this help message") do
32
+ puts opts
33
+ exit
34
+ end
35
+
36
+ opts.on("-v", "--version", "Show version") do
37
+ puts NetworkTester::VERSION
38
+ exit
39
+ end
40
+ end.parse!
41
+
42
+ # Remaining positional args: [maxtime] [address]
43
+ options[:maxtime] = Integer(ARGV[0]) if ARGV[0]
44
+ options[:address] = ARGV[1] if ARGV[1]
45
+
46
+ NetworkTester.loop(nil, options[:address], options[:maxtime])
@@ -1,3 +1,3 @@
1
1
  module NetworkTester
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -44,7 +44,7 @@ module NetworkTester
44
44
 
45
45
  time = Float(time)
46
46
  if time < 10
47
- # notify('sweet')
47
+ notify('wee')
48
48
  elsif time > maxtime
49
49
  notify(Integer(time), Integer(time)*2)
50
50
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = ['network_tester']
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_development_dependency "bundler", "~> 2.1.4"
22
+ spec.add_development_dependency "bundler", ">= 2.1"
23
23
  spec.add_development_dependency "rake", "~> 12.3.3"
24
- spec.add_development_dependency "rspec", "~> 3.9"
24
+ spec.add_development_dependency "rspec"
25
25
  end
metadata CHANGED
@@ -1,29 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: network_tester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - bmd
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-05-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 2.1.4
18
+ version: '2.1'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 2.1.4
25
+ version: '2.1'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +41,16 @@ dependencies:
42
41
  name: rspec
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - "~>"
44
+ - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '3.9'
46
+ version: '0'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
- - - "~>"
51
+ - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: '3.9'
53
+ version: '0'
55
54
  description: ''
56
55
  email:
57
56
  - brian@murphydye.com
@@ -76,7 +75,6 @@ homepage: ''
76
75
  licenses:
77
76
  - MIT
78
77
  metadata: {}
79
- post_install_message:
80
78
  rdoc_options: []
81
79
  require_paths:
82
80
  - lib
@@ -91,8 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
89
  - !ruby/object:Gem::Version
92
90
  version: '0'
93
91
  requirements: []
94
- rubygems_version: 3.1.2
95
- signing_key:
92
+ rubygems_version: 3.6.9
96
93
  specification_version: 4
97
94
  summary: Test network with audible pings.
98
95
  test_files: []