acpc_dealer 2.3.6 → 2.4.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
  SHA1:
3
- metadata.gz: a8998af69ff11e4a86dfe55ecbf63e454aa8f5aa
4
- data.tar.gz: c8df506f42bca83ce2b3335255a141bfabe12610
3
+ metadata.gz: dea56490ccff82a20e8813b2d119c9259575dded
4
+ data.tar.gz: 5fcf82680db42c45104c62b7135eaba342dfcda5
5
5
  SHA512:
6
- metadata.gz: f8d0f9907fe8dd86b739068b00e856321e2325003ac63fd2cf914423058f08c6d843940656f6945769d1e07d7f832f4e831e217a0d2f1f7a8b43aae556176b6f
7
- data.tar.gz: 98c890a51115e2cfecf692975681ddd089ec7490c2800fb5aa642bf4375d6cba95a3a4567564a4240bf18db950348ea06c9ecfadb41914d87b4c6c8f671e2eec
6
+ metadata.gz: 2144d0a98e76951268b5d26ab45eae283166eeaf509dba3924e38097ab97a7afd82877b766323bf33bdce8b1db35e68389508a76e1a870e26f8efc8185d7be32
7
+ data.tar.gz: 40061dfbd06b1f45c45aeec2ac304ab0da3f3bab2be4d65d1e6792369d8a3157e7f414d186111777f0ce21deef591bcea2e7cb31ab8c303b099bb9678d6f629d
data/lib/acpc_dealer.rb CHANGED
@@ -2,6 +2,8 @@ require 'acpc_dealer/version'
2
2
  require 'hand_evaluator'
3
3
  require "acpc_dealer/dealer_runner"
4
4
  require 'date'
5
+ require 'socket'
6
+ require 'timeout'
5
7
 
6
8
  module AcpcDealer
7
9
  VENDOR_DIRECTORY = File.expand_path('../../vendor', __FILE__)
@@ -52,6 +54,36 @@ module AcpcDealer
52
54
  "#{players.join('-')}.#{game_def}.r#{seed}.#{date}"
53
55
  end
54
56
 
57
+ def self.dealer_running?(dealer_process_hash)
58
+ (
59
+ dealer_process_hash &&
60
+ dealer_process_hash[:pid] &&
61
+ dealer_process_hash[:pid].process_exists?
62
+ )
63
+ end
64
+
65
+ # Thanks to joast and Chris Rice
66
+ # (http://stackoverflow.com/questions/517219/ruby-see-if-a-port-is-open)
67
+ # for this (modified)
68
+ def self.port_available?(port, ip = 'localhost')
69
+ begin
70
+ Timeout::timeout(1) do
71
+ begin
72
+ s = TCPSocket.new(ip, port)
73
+ s.close
74
+ return false
75
+ rescue Errno::EHOSTUNREACH
76
+ return false
77
+ rescue Errno::ECONNREFUSED
78
+ return true
79
+ end
80
+ end
81
+ rescue Timeout::Error
82
+ end
83
+
84
+ return false
85
+ end
86
+
55
87
  private
56
88
 
57
89
  def self.date
@@ -1,3 +1,3 @@
1
1
  module AcpcDealer
2
- VERSION = "2.3.6"
2
+ VERSION = "2.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acpc_dealer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Morrill