igp 1.0.0 → 1.1.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: 07b9c7b783789ada3d21617353f4470d5145856e2f555454e7f09e37de0ef5c9
4
- data.tar.gz: e733c5f176d331afebfd2b4ff57546555767febc77d514961c6383a88706146a
3
+ metadata.gz: dea3cd46567b9578ee580171eefef7ef44de44cd62acb3e809ba5644db1bdf8b
4
+ data.tar.gz: 1a2d1f5b44a460bf2b68d797b1d5c24b87f2130522db6d3e73ff2ecd451d210d
5
5
  SHA512:
6
- metadata.gz: 720507197bc6f4325574027108b77474053dd64c832d0462611214e74875608eb6c2f025d2d5eff53d4ae867e39697dc8cbdbaf48f7918f0bd728650d103f466
7
- data.tar.gz: dc0e4f4da5bae955da232efe4353fc62286e49073f431f38c0fad0e4b1c34b428d54d01608a0eabc448feab509418a86af027f1b9c386d41c2db5cb0f82065d5
6
+ metadata.gz: 0cbf84188e9ee2d1f7d50ac9e36b8d7d80260f134fd595de7032191821aae37b6b500f7ca5e5320d0c091d7be6e4c58ca9ba3629c1961e7366974890e87d15ce
7
+ data.tar.gz: 76c1fe528924bb24918cc721e1ee9b9aba476f577858356eff0f35442c1f38b1ef2e3cc017ae12136564a30dd0949f92081525b824bfdda179b4b806e6f89584
@@ -30,5 +30,7 @@ jobs:
30
30
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
31
  - name: Install dependencies
32
32
  run: bundle install
33
+ - name: Check Style
34
+ run: bundle exec rubocop
33
35
  - name: Run tests
34
36
  run: bundle exec rake
data/.gitignore CHANGED
@@ -14,6 +14,8 @@
14
14
  Gemfile.lock
15
15
  .ruby-version
16
16
  .ruby-gemset
17
+ *.gem
18
+ pkg
17
19
 
18
20
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
19
21
  .rvmrc
@@ -21,9 +23,6 @@ Gemfile.lock
21
23
  # rcov generated
22
24
  coverage
23
25
 
24
- # jeweler generated
25
- pkg
26
-
27
26
  # logs
28
27
  log
29
28
  *.log
data/.rubocop_todo.yml CHANGED
@@ -38,6 +38,7 @@ Style/ClassAndModuleChildren:
38
38
  Exclude:
39
39
  - 'lib/igp/base.rb'
40
40
  - 'lib/igp/shell.rb'
41
+ - 'lib/net/ping/ldap.rb'
41
42
 
42
43
  # Offense count: 1
43
44
  # Cop supports --auto-correct.
@@ -72,8 +73,10 @@ Style/FrozenStringLiteralComment:
72
73
  - 'lib/igp/base.rb'
73
74
  - 'lib/igp/shell.rb'
74
75
  - 'lib/igp/version.rb'
76
+ - 'lib/net/ping/ldap.rb'
75
77
  - 'spec/base_spec.rb'
76
78
  - 'spec/format_spec.rb'
79
+ - 'spec/net/ping/ldap_spec.rb'
77
80
  - 'spec/shell_spec.rb'
78
81
  - 'spec/spec_helper.rb'
79
82
 
data/CHANGELOG CHANGED
@@ -1,3 +1,14 @@
1
+ Version 1.1.0 Release: 2022-03-01
2
+ ==================================================
3
+
4
+ * added back LDAP ping functionality (built-in for now)
5
+
6
+ Version 1.0.0 Release: 2022-03-01
7
+ ==================================================
8
+
9
+ * updated to ruby 2.7+ and net-ping 2.0.8+
10
+ * LDAP functionality removed (since dropped from net-ping)
11
+
1
12
  Version 0.0.3 Release: 7th May 2011
2
13
  ==================================================
3
14
  * more ruby 1.8.7 compatibility fixes:
data/igp.gemspec CHANGED
@@ -20,14 +20,17 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.add_runtime_dependency 'getoptions', '~> 0.3'
23
+ spec.add_runtime_dependency 'net-ldap', '~> 0.16.0'
23
24
  spec.add_runtime_dependency 'net-ping', '~> 2.0.8'
24
25
 
25
26
  spec.add_development_dependency 'bundler'
27
+ spec.add_development_dependency 'fakeldap', '~> 0.1.1'
26
28
  spec.add_development_dependency 'guard-rspec'
27
29
  spec.add_development_dependency 'rake'
28
30
  spec.add_development_dependency 'rb-fsevent'
29
31
  spec.add_development_dependency 'rdoc'
30
32
  spec.add_development_dependency 'rspec'
31
33
  spec.add_development_dependency 'rubocop'
34
+ spec.add_development_dependency 'ruby-ldapserver', '~> 0.5.0'
32
35
  spec.metadata['rubygems_mfa_required'] = 'true'
33
36
  end
data/lib/igp/base.rb CHANGED
@@ -33,9 +33,8 @@ class Igp::Base
33
33
  @ping_handler = Net::Ping::TCP.new(@options[:host], @options[:port])
34
34
  when :http, :https
35
35
  @ping_handler = Net::Ping::HTTP.new(@options[:url])
36
- # TODO: LDAP was retired from net-ping. to add back in one way or another
37
- # when :ldap, :ldaps
38
- # @ping_handler = Net::Ping::LDAP.new(@options[:url])
36
+ when :ldap, :ldaps
37
+ @ping_handler = Net::Ping::LDAP.new(@options[:url])
39
38
  end
40
39
  end
41
40
 
data/lib/igp/shell.rb CHANGED
@@ -52,8 +52,7 @@ class Igp::Shell
52
52
  # runs the ping task
53
53
  def run
54
54
  case options[:type]
55
- # TODO: LDAP was retired from net-ping. to add back in one way or another
56
- when :icmp, :http, :https, :tcp, :udp # :ldap, :ldaps
55
+ when :icmp, :http, :https, :tcp, :udp, :ldap, :ldaps
57
56
  Igp::Base.new(options).run
58
57
  else
59
58
  usage
@@ -101,10 +100,10 @@ class Igp::Shell
101
100
  igp http://localhost:8080
102
101
  igp https://localhost:4443
103
102
 
103
+ LDAP/S ping:
104
+ igp ldap://localhost
105
+ igp ldaps://localhost:6636
106
+
104
107
  EOS
105
- # TODO: LDAP was retired from net-ping. to add back in one way or another
106
- # LDAP/S ping:
107
- # igp ldap://localhost
108
- # igp ldaps://localhost:6636
109
108
  end
110
109
  end
data/lib/igp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Igp
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '1.1.0'.freeze
3
3
  end
data/lib/igp.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'net/ping'
2
+ require 'net/ping/ldap'
2
3
  require 'igp/version'
3
4
  require 'igp/shell'
4
5
  require 'igp/base'
@@ -0,0 +1,105 @@
1
+ require 'net/ping'
2
+ require 'net/ldap'
3
+ require 'uri'
4
+
5
+ # The Net module serves as a namespace only.
6
+ module Net
7
+ # The Ping::LDAP class encapsulates methods for LDAP pings.
8
+ class Ping::LDAP < Ping
9
+ # uri contains the URI object for the request
10
+ #
11
+ attr_accessor :uri
12
+
13
+ # username and password may be set for ping using
14
+ # an authenticated LDAP bind
15
+ #
16
+ attr_accessor :username
17
+ attr_accessor :password
18
+
19
+ # set/get the encryption method. By default nil,
20
+ # but may be set to :simple_tls
21
+ #
22
+ attr_reader :encryption
23
+
24
+ def encryption=(value)
25
+ @encryption = value.is_a?(Symbol) ? value : value.to_sym
26
+ end
27
+
28
+ # Creates and returns a new Ping::LDAP object.
29
+ # The default +timeout+ is 5 seconds.
30
+ #
31
+ # +uri+ string is expected to be a full URI with scheme (ldap/ldaps)
32
+ # and optionally the port (else default port is assumed) e.g.
33
+ # ldap://my.ldap.host.com
34
+ # ldap://my.ldap.host.com:1389
35
+ # ldaps://my.ldap.host.com
36
+ # ldaps://my.ldap.host.com:6636
37
+ #
38
+ # If a plain hostname is provided as the +uri+, a default port of 389 is assumed
39
+ #
40
+ def initialize(uri = nil, timeout = 5)
41
+ host, port = decode_uri(uri)
42
+ super(host, port, timeout)
43
+ end
44
+
45
+ # method used to decode uri string
46
+ #
47
+ def decode_uri(value)
48
+ @uri = URI.parse(value)
49
+ if uri.scheme =~ /ldap/
50
+ p = @port = uri.port
51
+ h = @host = uri.host
52
+ @encryption = uri.scheme == 'ldaps' ? :simple_tls : nil
53
+ else
54
+ h = value
55
+ p = 389
56
+ end
57
+ [h, p]
58
+ end
59
+
60
+ # constructs the LDAP configuration structure
61
+ #
62
+ def config
63
+ {
64
+ host: uri.host,
65
+ port: uri.port,
66
+ encryption: encryption
67
+ }.merge(
68
+ if username && password
69
+ { auth: { method: :simple, username: username, password: password } }
70
+ else
71
+ { auth: { method: :anonymous } }
72
+ end
73
+ )
74
+ end
75
+
76
+ # perform ping, optionally providing the ping destination uri
77
+ #
78
+ def ping(host = nil)
79
+ decode_uri(host) if host
80
+ super(@host)
81
+
82
+ bool = false
83
+
84
+ start_time = Time.now
85
+
86
+ begin
87
+ Timeout.timeout(@timeout) do
88
+ Net::LDAP.new(config).bind
89
+ end
90
+ rescue StandardError => e
91
+ @exception = e.message
92
+ else
93
+ bool = true
94
+ end
95
+
96
+ # There is no duration if the ping failed
97
+ @duration = Time.now - start_time if bool
98
+
99
+ bool
100
+ end
101
+
102
+ alias ping? ping
103
+ alias pingecho ping
104
+ end
105
+ end
data/spec/base_spec.rb CHANGED
@@ -40,17 +40,16 @@ describe Igp::Base do
40
40
  base = Igp::Base.new(options)
41
41
  expect(base.ping_handler).to be_a(Net::Ping::HTTP)
42
42
  end
43
- # TODO: LDAP was retired from net-ping. to add back in one way or another
44
- # it 'should be Net::Ping::LDAP for :ldap' do
45
- # options = { type: :ldap, url: 'ldap://localhost' }
46
- # base = Igp::Base.new(options)
47
- # expect(base.ping_handler).to be_a(Net::Ping::LDAP)
48
- # end
49
- # it 'should be Net::Ping::LDAP for :ldaps' do
50
- # options = { type: :ldaps, url: 'ldaps://localhost' }
51
- # base = Igp::Base.new(options)
52
- # expect(base.ping_handler).to be_a(Net::Ping::LDAP)
53
- # end
43
+ it 'should be Net::Ping::LDAP for :ldap' do
44
+ options = { type: :ldap, url: 'ldap://localhost' }
45
+ base = Igp::Base.new(options)
46
+ expect(base.ping_handler).to be_a(Net::Ping::LDAP)
47
+ end
48
+ it 'should be Net::Ping::LDAP for :ldaps' do
49
+ options = { type: :ldaps, url: 'ldaps://localhost' }
50
+ base = Igp::Base.new(options)
51
+ expect(base.ping_handler).to be_a(Net::Ping::LDAP)
52
+ end
54
53
  end
55
54
 
56
55
  describe '#run' do
@@ -0,0 +1,193 @@
1
+ require 'spec_helper'
2
+ require 'fakeldap'
3
+
4
+ describe Net::Ping::LDAP do
5
+ before :all do
6
+ @ldap_server = FakeLDAP::Server.new(port: 2389)
7
+ @ldap_server.run_tcpserver
8
+ @ldap_server.add_user('cn=el.Daper,ou=USERS,dc=example,dc=com', 'ldappassword')
9
+ end
10
+
11
+ after :all do
12
+ @ldap_server.stop
13
+ end
14
+
15
+ context 'when valid ldap url' do
16
+ let(:timeout) { 30 }
17
+ let(:cn) { 'el.Daper' }
18
+ let(:password) { 'ldappassword' }
19
+ let(:uri) { 'ldap://localhost:2389' }
20
+ subject(:ldap) do
21
+ ldap = Net::Ping::LDAP.new(uri, timeout)
22
+ ldap.username = cn
23
+ ldap.password = password
24
+ ldap
25
+ end
26
+
27
+ describe '#ping' do
28
+ subject { ldap.ping }
29
+ it 'ping basic functionality' do
30
+ expect { subject }.to_not raise_error
31
+ expect(subject).to eql(true)
32
+ end
33
+ end
34
+ describe '#ping?' do
35
+ subject { ldap.ping? }
36
+ it 'returns a boolean' do
37
+ expect(subject).to eql(true)
38
+ end
39
+ end
40
+ describe '#pingecho' do
41
+ subject { ldap.pingecho }
42
+ it 'returns a boolean' do
43
+ expect(subject).to eql(true)
44
+ end
45
+ end
46
+ describe '#duration' do
47
+ subject { ldap.duration }
48
+ before { ldap.ping }
49
+ it 'returns a float' do
50
+ expect(subject).to be_a(Float)
51
+ end
52
+ end
53
+ end
54
+
55
+ context 'when bad ldap url' do
56
+ let(:uri) { 'ldap://blabfoobarurghxxxx.com' }
57
+ subject(:ldap) { Net::Ping::LDAP.new(uri) }
58
+ describe '#ping' do
59
+ subject { ldap.ping }
60
+ it 'ping basic functionality' do
61
+ expect { subject }.to_not raise_error
62
+ expect(subject).to eql(false)
63
+ end
64
+ end
65
+ describe '#ping?' do
66
+ subject { ldap.ping? }
67
+ it 'returns a boolean' do
68
+ expect(subject).to eql(false)
69
+ end
70
+ end
71
+ describe '#pingecho' do
72
+ subject { ldap.pingecho }
73
+ it 'returns a boolean' do
74
+ expect(subject).to eql(false)
75
+ end
76
+ end
77
+ describe '#duration' do
78
+ subject { ldap.duration }
79
+ before { ldap.ping }
80
+ it 'returns nil' do
81
+ expect(subject).to be_nil
82
+ end
83
+ end
84
+ end
85
+
86
+ # test 'host attribute basic functionality' do
87
+ # assert_respond_to(@ldap, :host)
88
+ # assert_respond_to(@ldap, :host=)
89
+ # assert_equal(@@host, @ldap.host)
90
+ # end
91
+
92
+ # test 'port attribute basic functionality' do
93
+ # assert_respond_to(@ldap, :port)
94
+ # assert_respond_to(@ldap, :port=)
95
+ # end
96
+
97
+ # test 'port attribute expected value' do
98
+ # assert_equal(@@port, @ldap.port)
99
+ # end
100
+
101
+ # test 'timeout attribute basic functionality' do
102
+ # assert_respond_to(@ldap, :timeout)
103
+ # assert_respond_to(@ldap, :timeout=)
104
+ # end
105
+
106
+ # test 'timeout attribute expected values' do
107
+ # assert_equal(@@timeout, @ldap.timeout)
108
+ # assert_equal(5, @bad.timeout)
109
+ # end
110
+
111
+ # test 'exception attribute basic functionality' do
112
+ # assert_respond_to(@ldap, :exception)
113
+ # assert_nil(@ldap.exception)
114
+ # end
115
+
116
+ # test 'exception attribute is nil if the ping is successful' do
117
+ # assert_true(@ldap.ping)
118
+ # assert_nil(@ldap.exception)
119
+ # end
120
+
121
+ # test 'exception attribute is not nil if the ping is unsuccessful' do
122
+ # assert_false(@bad.ping)
123
+ # assert_not_nil(@bad.exception)
124
+ # end
125
+
126
+ # test 'warning attribute basic functionality' do
127
+ # assert_respond_to(@ldap, :warning)
128
+ # assert_nil(@ldap.warning)
129
+ # end
130
+
131
+ # test 'uri attribute basic functionality' do
132
+ # assert_respond_to(@ldap, :uri)
133
+ # assert_respond_to(@ldap, :uri=)
134
+ # end
135
+
136
+ # test 'username attribute basic functionality' do
137
+ # assert_respond_to(@ldap, :username)
138
+ # assert_respond_to(@ldap, :username=)
139
+ # end
140
+
141
+ # test 'password attribute basic functionality' do
142
+ # assert_respond_to(@ldap, :password)
143
+ # assert_respond_to(@ldap, :password=)
144
+ # end
145
+
146
+ # test 'encryption attribute basic functionality' do
147
+ # assert_respond_to(@ldap, :encryption)
148
+ # assert_respond_to(@ldap, :encryption=)
149
+ # end
150
+
151
+ # test 'encryption defaults to nil for ldap' do
152
+ # assert_nil(Net::Ping::LDAP.new('ldap://somehost.example.net').encryption)
153
+ # end
154
+
155
+ # test 'encryption defaults to simple_tls for ldaps' do
156
+ # assert_equal(:simple_tls, Net::Ping::LDAP.new('ldaps://somehost.example.net').encryption)
157
+ # end
158
+
159
+ # test 'port defaults to 389 for ldap' do
160
+ # assert_equal(389, Net::Ping::LDAP.new('ldap://somehost.example.net').port)
161
+ # end
162
+
163
+ # test 'port defaults to 636 for ldaps' do
164
+ # assert_equal(636, Net::Ping::LDAP.new('ldaps://somehost.example.net').port)
165
+ # end
166
+
167
+ # test 'port extracted from uri if provided' do
168
+ # assert_equal(12345, Net::Ping::LDAP.new('ldap://somehost.example.net:12345').port)
169
+ # assert_equal(12345, Net::Ping::LDAP.new('ldaps://somehost.example.net:12345').port)
170
+ # end
171
+
172
+ # test 'encryption setting is forced to symbol' do
173
+ # @ldap.encryption = 'simple_tls'
174
+ # assert_true( @ldap.encryption.is_a? Symbol )
175
+ # assert_true( @ldap.config[:encryption].is_a? Symbol )
176
+ # end
177
+
178
+ # test 'username/password set in config auth section' do
179
+ # @ldap.username, @ldap.password = 'fred', 'derf'
180
+ # assert_equal('fred', @ldap.config[:auth][:username] )
181
+ # assert_equal('derf', @ldap.config[:auth][:password] )
182
+ # end
183
+
184
+ # test 'auth method defaults to simple if username/password set' do
185
+ # @ldap.username, @ldap.password = 'fred', 'derf'
186
+ # assert_equal(:simple, @ldap.config[:auth][:method] )
187
+ # end
188
+
189
+ # test 'if no username/password then defaults to auth anonymous' do
190
+ # @ldap.username = @ldap.password = nil
191
+ # assert_equal({:method => :anonymous}, @ldap.config[:auth] )
192
+ # end
193
+ end
data/spec/shell_spec.rb CHANGED
@@ -117,44 +117,43 @@ describe Igp::Shell do
117
117
  end
118
118
  end
119
119
 
120
- # TODO: LDAP was retired from net-ping. to add back in one way or another
121
- # describe 'ldap configuration' do
122
- # before(:each) do
123
- # @type = :ldap
124
- # @host = 'localhost'
125
- # @port = 389
126
- # @options_server_value = "#{@type}://#{@host}"
127
- # @shell = Igp::Shell.new(GetOptions.new(Igp::Shell::OPTIONS, []), [@options_server_value])
128
- # end
129
- # it 'should support url accessor' do
130
- # expect(@shell.options[:url]).to eql(@options_server_value)
131
- # end
132
- # it 'should default to tcp ping with url when given server with tcp protocol setting' do
133
- # expect(@shell.options[:type]).to eql(@type)
134
- # end
135
- # it 'should resolve host/port' do
136
- # expect(@shell.options[:host]).to eql(@host)
137
- # expect(@shell.options[:port]).to eql(@port)
138
- # end
139
- # end
120
+ describe 'ldap configuration' do
121
+ before(:each) do
122
+ @type = :ldap
123
+ @host = 'localhost'
124
+ @port = 389
125
+ @options_server_value = "#{@type}://#{@host}"
126
+ @shell = Igp::Shell.new(GetOptions.new(Igp::Shell::OPTIONS, []), [@options_server_value])
127
+ end
128
+ it 'should support url accessor' do
129
+ expect(@shell.options[:url]).to eql(@options_server_value)
130
+ end
131
+ it 'should default to tcp ping with url when given server with tcp protocol setting' do
132
+ expect(@shell.options[:type]).to eql(@type)
133
+ end
134
+ it 'should resolve host/port' do
135
+ expect(@shell.options[:host]).to eql(@host)
136
+ expect(@shell.options[:port]).to eql(@port)
137
+ end
138
+ end
140
139
 
141
- # describe 'ldaps configuration' do
142
- # before(:each) do
143
- # @type = :ldaps
144
- # @host = 'localhost'
145
- # @port = 636
146
- # @options_server_value = "#{@type}://#{@host}"
147
- # @shell = Igp::Shell.new(GetOptions.new(Igp::Shell::OPTIONS, []), [@options_server_value])
148
- # end
149
- # it 'should support url accessor' do
150
- # expect(@shell.options[:url]).to eql(@options_server_value)
151
- # end
152
- # it 'should default to tcp ping with url when given server with tcp protocol setting' do
153
- # expect(@shell.options[:type]).to eql(@type)
154
- # end
155
- # it 'should resolve host/port' do
156
- # expect(@shell.options[:host]).to eql(@host)
157
- # expect(@shell.options[:port]).to eql(@port)
158
- # end
159
- # end
140
+ describe 'ldaps configuration' do
141
+ before(:each) do
142
+ @type = :ldaps
143
+ @host = 'localhost'
144
+ @port = 636
145
+ @options_server_value = "#{@type}://#{@host}"
146
+ @shell = Igp::Shell.new(GetOptions.new(Igp::Shell::OPTIONS, []), [@options_server_value])
147
+ end
148
+ it 'should support url accessor' do
149
+ expect(@shell.options[:url]).to eql(@options_server_value)
150
+ end
151
+ it 'should default to tcp ping with url when given server with tcp protocol setting' do
152
+ expect(@shell.options[:type]).to eql(@type)
153
+ end
154
+ it 'should resolve host/port' do
155
+ expect(@shell.options[:host]).to eql(@host)
156
+ expect(@shell.options[:port]).to eql(@port)
157
+ end
158
+ end
160
159
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: igp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Gallagher
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: net-ldap
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.16.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.16.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: net-ping
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fakeldap
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.1.1
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: guard-rspec
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +164,20 @@ dependencies:
136
164
  - - ">="
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: ruby-ldapserver
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.5.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.5.0
139
181
  description: 'Simple command-line server monitoring with a range of protocols: ICMP,
140
182
  TCP, UDP, HTTP/S, LDAP/S'
141
183
  email:
@@ -161,8 +203,10 @@ files:
161
203
  - lib/igp/base.rb
162
204
  - lib/igp/shell.rb
163
205
  - lib/igp/version.rb
206
+ - lib/net/ping/ldap.rb
164
207
  - spec/base_spec.rb
165
208
  - spec/format_spec.rb
209
+ - spec/net/ping/ldap_spec.rb
166
210
  - spec/shell_spec.rb
167
211
  - spec/spec_helper.rb
168
212
  homepage: https://github.com/tardate/igp
@@ -192,5 +236,6 @@ summary: It goes PING!
192
236
  test_files:
193
237
  - spec/base_spec.rb
194
238
  - spec/format_spec.rb
239
+ - spec/net/ping/ldap_spec.rb
195
240
  - spec/shell_spec.rb
196
241
  - spec/spec_helper.rb