sane 0.24.2 → 0.24.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.
data/ChangeLog CHANGED
@@ -1,7 +1,4 @@
1
- 0.24.0
2
- remove __dir__ (deemed too confusing, since it would seem to imply that __file__ also exists, which it doesn't)
3
- change __DIR__ from /a/b/ to /a/b (also confused me once, can't have that!)
4
- add Numeric#group_digits(',')
1
+ 0.25.6 add Socket.get_host_ips, remove dependency on andand until I need it again.
5
2
 
6
3
  # 3: add hash_set_operators
7
4
  # 0.2.2: add Regex+Regex, bug fixes
data/Rakefile CHANGED
@@ -7,5 +7,5 @@ Jeweler::Tasks.new do |s|
7
7
  s.description = s.summary = %q{Helpers for ruby core to make it easier to work with--things that are missing from core but should arguably be there}
8
8
  s.email = ["rogerdpack@gmail.com"]
9
9
  s.add_dependency 'os'
10
- s.add_dependency 'andand' # turns out to be pretty useful...
10
+ #s.add_dependency 'andand' # turns out to be pretty useful...
11
11
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.24.2
1
+ 0.24.3
@@ -0,0 +1,34 @@
1
+ class Numeric
2
+ def ord; self; end unless RUBY_VERSION[0..2] == '1.9' # helper for 1.8/1.9
3
+ end
4
+
5
+ require 'socket' # sane already loads it for BasicSocket.reverse_lookup
6
+
7
+ class Socket
8
+ class << self
9
+ def get_host_ips
10
+ get_ips(Socket.gethostname)
11
+ end
12
+
13
+ def get_ips hostname
14
+ begin
15
+
16
+ socket_info = Socket.getaddrinfo(hostname, nil,
17
+ Socket::AF_UNSPEC, Socket::SOCK_STREAM, nil,
18
+ Socket::AI_CANONNAME).select{|type| type[0] == 'AF_INET'}
19
+
20
+ raise if socket_info.length == 0
21
+ ips = socket_info.map{|info| info[3]}
22
+ return ips
23
+ rescue => e # getaddrinfo failed...
24
+ begin
25
+ ipInt = gethostbyname(hostname)[3] # do a DNS lookup
26
+ return ["%d.%d.%d.%d" % [ipInt[0].ord, ipInt[1].ord, ipInt[2].ord, ipInt[3].ord]]
27
+ rescue SocketError # happens in certain instances...
28
+ return nil
29
+ end
30
+ end
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,3 @@
1
+ class String
2
+ alias :blank? :empty?
3
+ end
@@ -185,4 +185,8 @@ describe Sane do
185
185
  "abc".replace_all!("def").should == "def"
186
186
  end
187
187
 
188
+ it 'should have socket get_host_ips' do
189
+ Socket.get_host_ips[0].should_not be nil
190
+ end
191
+
188
192
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sane
3
3
  version: !ruby/object:Gem::Version
4
- hash: 123
4
+ hash: 121
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 24
9
- - 2
10
- version: 0.24.2
9
+ - 3
10
+ version: 0.24.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Roger Pack
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-12 00:00:00 Z
18
+ date: 2011-09-23 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: os
@@ -31,20 +31,6 @@ dependencies:
31
31
  version: "0"
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: andand
36
- prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
46
- type: :runtime
47
- version_requirements: *id002
48
34
  description: Helpers for ruby core to make it easier to work with--things that are missing from core but should arguably be there
49
35
  email:
50
36
  - rogerdpack@gmail.com
@@ -83,7 +69,9 @@ files:
83
69
  - lib/sane/pps.rb
84
70
  - lib/sane/require_relative.rb
85
71
  - lib/sane/sane_random.rb
72
+ - lib/sane/socket_ips.rb
86
73
  - lib/sane/string.rb
74
+ - lib/sane/string_blank.rb
87
75
  - lib/sane/test.rb
88
76
  - lib/sane/test/assertions.rb
89
77
  - lib/sane/thread.rb