thecon 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: 0720472a0014aacff5ef977690c719ef4b4791a1
4
- data.tar.gz: a40be6cfd95c39da12b279843ba7ead1364fb495
3
+ metadata.gz: 85227b028e721a45c7fcd94c6af67f903aa56472
4
+ data.tar.gz: 325c0486bc017272ccd6f14b01f7f3cc5543ffec
5
5
  SHA512:
6
- metadata.gz: 3d9ac106c1ec33c020a4f82c0ebfc5489b08e8724d1b59b7e1b548e6f293c6fa8562c8359569ad7fe8de046e8a782006d758fc62ea6612ea381c9e4796a03ebd
7
- data.tar.gz: 6c2b8cf63d974ad355efdff990bd9da367d90c45ee81faee6d5c85a6c47526bb0b3a37869ca4ea04820a20fb7e1832e18bb4708a061a2f8f6fe48c85960d1fd3
6
+ metadata.gz: 23eff59dfe214cb17420772c2e18f26b35a14dbba18f5355865eba40f5c905beaa6a422bd2f75faccf27ebbae97743b0746486e761af5a6de0cca8765d0eafbe
7
+ data.tar.gz: 05fe9cc2bea503038b0739c818e235e321c851c468678c6c3043d58b694b1cd751213eb902bd11adac058cbc000dc5380af7b46e7cff549e58477cac12a580ec
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.0
6
+ - 2.1.1
7
+ - jruby-18mode
8
+ - jruby-19mode
9
+ - rbx-2
10
+ - ruby-head
11
+ - jruby-head
12
+ - ree
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 tnarik
1
+ Copyright (c) 2013-2015 tnarik
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -18,8 +18,8 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
22
-
21
+ $ thecon <hostname> <port>
22
+
23
23
  ## Contributing
24
24
 
25
25
  1. Fork it
data/Rakefile CHANGED
@@ -1 +1,11 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ desc 'Run tests'
5
+ task :default => :test
6
+
7
+ Rake::TestTask.new(:test) do |test|
8
+ test.test_files = FileList['spec/**/*_spec.rb']
9
+ test.libs << 'spec'
10
+ test.verbose = true
11
+ end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+ $: << File.dirname(__FILE__) + '/../lib'
4
+
5
+ require 'thecon'
6
+
7
+ puts Thecon.ready?(ARGV[1], ARGV[0]).to_s
@@ -10,6 +10,7 @@ module Thecon
10
10
  def self.ready?(port=80, ip = "localhost", connection_timeout = 3, read_timeout = 2)
11
11
  @log = Logger.new(STDOUT)
12
12
 
13
+ port ||= 80
13
14
  result = false
14
15
  begin
15
16
  timeout( connection_timeout ) do
@@ -18,16 +19,32 @@ module Thecon
18
19
  socket.connect sockaddr
19
20
  begin
20
21
  timeout( read_timeout ) do
22
+ begin
23
+
24
+ response = socket.read_nonblock(1)
25
+
21
26
  r,w,e = select([socket], nil, nil, 1) # nil, nil, nil from inside the network
22
- unless r.nil? then
23
- @log.debug "socket was closed" if ( r[0].read(1).nil? ) #This means there is something there
24
- result = false #Something closed this
25
- else
26
- @log.debug "not available for read: either doesn't exist or not closed" #TRUE
27
- result = true
27
+ result = true
28
+ rescue IO::WaitReadable
29
+ @log.debug "Wait readable"
30
+ r,w,e = select([socket], nil, nil, 1) # nil, nil, nil from inside the network
31
+ unless r.nil? then
32
+ if r[0].read(1).nil?
33
+ @log.debug "Readable socket was closed / there is NOTHING there"
34
+ result = false
35
+ else
36
+ @log.debug "There is something there"
37
+ result = true
38
+ end
39
+ else
40
+ @log.debug "not available for read: either doesn't exist or not closed" #TRUE
41
+ result = true
42
+ end
43
+ rescue IO::WaitWritable
28
44
  end
45
+
29
46
  end
30
- rescue StandardError => ka
47
+ rescue StandardError => ka #This can get triggered i
31
48
  @log.debug "OK, standardERROR #{ka}" #If socket.read there could be errors (this shouldn't be triggered)
32
49
  result = true
33
50
  rescue Timeout::Error => e
@@ -1,3 +1,3 @@
1
1
  module Thecon
2
- VERSION = "0.0.3"
3
- end
2
+ VERSION = "0.0.4"
3
+ end
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- # development dependencies
21
+ # development dependencies
22
+ spec.add_development_dependency "bundler"
23
+ spec.add_development_dependency "rake"
22
24
  spec.add_development_dependency "rspec"
23
25
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thecon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tnarik Innael
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2015-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: rspec
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -28,7 +56,8 @@ description: Simple connection checker to find out if a server is available at a
28
56
  port
29
57
  email:
30
58
  - tnarik@lecafeautomatique.co.uk
31
- executables: []
59
+ executables:
60
+ - thecon
32
61
  extensions: []
33
62
  extra_rdoc_files: []
34
63
  files:
@@ -36,10 +65,12 @@ files:
36
65
  - ".rspec"
37
66
  - ".ruby-gemset"
38
67
  - ".ruby-version"
68
+ - ".travis.yml"
39
69
  - Gemfile
40
- - LICENSE.txt
70
+ - LICENSE
41
71
  - README.md
42
72
  - Rakefile
73
+ - bin/thecon
43
74
  - lib/thecon.rb
44
75
  - lib/thecon/version.rb
45
76
  - spec/spec_helper.rb