thecon 0.0.2 → 0.0.3
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 +4 -4
- data/.ruby-version +1 -1
- data/lib/thecon/version.rb +1 -1
- data/lib/thecon.rb +11 -7
- data/thecon.gemspec +17 -16
- metadata +16 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0720472a0014aacff5ef977690c719ef4b4791a1
|
4
|
+
data.tar.gz: a40be6cfd95c39da12b279843ba7ead1364fb495
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d9ac106c1ec33c020a4f82c0ebfc5489b08e8724d1b59b7e1b548e6f293c6fa8562c8359569ad7fe8de046e8a782006d758fc62ea6612ea381c9e4796a03ebd
|
7
|
+
data.tar.gz: 6c2b8cf63d974ad355efdff990bd9da367d90c45ee81faee6d5c85a6c47526bb0b3a37869ca4ea04820a20fb7e1832e18bb4708a061a2f8f6fe48c85960d1fd3
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.1.1
|
data/lib/thecon/version.rb
CHANGED
data/lib/thecon.rb
CHANGED
@@ -3,12 +3,16 @@ require "thecon/version"
|
|
3
3
|
require 'timeout'
|
4
4
|
require 'socket'
|
5
5
|
|
6
|
+
require 'logger'
|
7
|
+
|
6
8
|
module Thecon
|
7
9
|
# Your code goes here...
|
8
10
|
def self.ready?(port=80, ip = "localhost", connection_timeout = 3, read_timeout = 2)
|
9
|
-
|
10
|
-
|
11
|
-
|
11
|
+
@log = Logger.new(STDOUT)
|
12
|
+
|
13
|
+
result = false
|
14
|
+
begin
|
15
|
+
timeout( connection_timeout ) do
|
12
16
|
socket = Socket.new :INET, :STREAM
|
13
17
|
sockaddr = Socket.pack_sockaddr_in port, ip
|
14
18
|
socket.connect sockaddr
|
@@ -16,18 +20,18 @@ module Thecon
|
|
16
20
|
timeout( read_timeout ) do
|
17
21
|
r,w,e = select([socket], nil, nil, 1) # nil, nil, nil from inside the network
|
18
22
|
unless r.nil? then
|
19
|
-
|
23
|
+
@log.debug "socket was closed" if ( r[0].read(1).nil? ) #This means there is something there
|
20
24
|
result = false #Something closed this
|
21
25
|
else
|
22
|
-
|
26
|
+
@log.debug "not available for read: either doesn't exist or not closed" #TRUE
|
23
27
|
result = true
|
24
28
|
end
|
25
29
|
end
|
26
30
|
rescue StandardError => ka
|
27
|
-
|
31
|
+
@log.debug "OK, standardERROR #{ka}" #If socket.read there could be errors (this shouldn't be triggered)
|
28
32
|
result = true
|
29
33
|
rescue Timeout::Error => e
|
30
|
-
|
34
|
+
@log.debug "timedout reading" #Socket is there but there are not data to read (if socket.read)
|
31
35
|
result = true
|
32
36
|
end
|
33
37
|
end
|
data/thecon.gemspec
CHANGED
@@ -1,22 +1,23 @@
|
|
1
|
-
#
|
1
|
+
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'thecon/version'
|
5
5
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "thecon"
|
8
|
+
spec.version = Thecon::VERSION
|
9
|
+
spec.authors = ["Tnarik Innael"]
|
10
|
+
spec.email = ["tnarik@lecafeautomatique.co.uk"]
|
11
|
+
spec.summary = %q{Attempt a connection to a certain IP (or hostname), port}
|
12
|
+
spec.description = %q{Simple connection checker to find out if a server is available at a certain port}
|
13
|
+
spec.homepage = "https://github.com/tnarik/thecon"
|
14
|
+
spec.license = "MIT"
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
19
20
|
|
20
|
-
#
|
21
|
-
|
22
|
-
end
|
21
|
+
# development dependencies
|
22
|
+
spec.add_development_dependency "rspec"
|
23
|
+
end
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thecon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Tnarik Innael
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
description: Simple connection checker to find out if a server is available at a certain
|
28
28
|
port
|
29
29
|
email:
|
30
|
-
- tnarik@
|
30
|
+
- tnarik@lecafeautomatique.co.uk
|
31
31
|
executables: []
|
32
32
|
extensions: []
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
-
- .gitignore
|
36
|
-
- .rspec
|
37
|
-
- .ruby-gemset
|
38
|
-
- .ruby-version
|
35
|
+
- ".gitignore"
|
36
|
+
- ".rspec"
|
37
|
+
- ".ruby-gemset"
|
38
|
+
- ".ruby-version"
|
39
39
|
- Gemfile
|
40
40
|
- LICENSE.txt
|
41
41
|
- README.md
|
@@ -45,8 +45,9 @@ files:
|
|
45
45
|
- spec/spec_helper.rb
|
46
46
|
- spec/thecon_spec.rb
|
47
47
|
- thecon.gemspec
|
48
|
-
homepage:
|
49
|
-
licenses:
|
48
|
+
homepage: https://github.com/tnarik/thecon
|
49
|
+
licenses:
|
50
|
+
- MIT
|
50
51
|
metadata: {}
|
51
52
|
post_install_message:
|
52
53
|
rdoc_options: []
|
@@ -54,17 +55,17 @@ require_paths:
|
|
54
55
|
- lib
|
55
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
56
57
|
requirements:
|
57
|
-
- -
|
58
|
+
- - ">="
|
58
59
|
- !ruby/object:Gem::Version
|
59
60
|
version: '0'
|
60
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
62
|
requirements:
|
62
|
-
- -
|
63
|
+
- - ">="
|
63
64
|
- !ruby/object:Gem::Version
|
64
65
|
version: '0'
|
65
66
|
requirements: []
|
66
67
|
rubyforge_project:
|
67
|
-
rubygems_version: 2.
|
68
|
+
rubygems_version: 2.2.2
|
68
69
|
signing_key:
|
69
70
|
specification_version: 4
|
70
71
|
summary: Attempt a connection to a certain IP (or hostname), port
|