ddis 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/bin/ddis +1 -0
  2. data/lib/ddis.rb +2 -7
  3. data/lib/ddis/store_ips.rb +4 -2
  4. metadata +73 -56
data/bin/ddis CHANGED
@@ -31,6 +31,7 @@ ip = ddis.iterator.ip
31
31
  ddis.test_ip ip
32
32
  ip = ddis.iterator.iterate
33
33
  end
34
+ ddis.save
34
35
  warn "Sleeping for #{secs} seconds" if verbose
35
36
  sleep secs
36
37
  end
@@ -28,17 +28,12 @@ class DDis
28
28
  end
29
29
 
30
30
  def test_ip ip
31
- begin
32
- hostname = @resolv.getname ip
33
- rescue
34
- warn "Couldn't get host for #{ip}"
35
- return nil
36
- end
31
+ hostname = @resolv.getname( ip ) || nil
37
32
 
38
33
  @ping.host = ip
39
34
  up = @ping.ping?
40
35
 
41
- if up and hostname =~ /#{@unass}/
36
+ if up and ( hostname =~ /#{@unass}/ or hostname.nil? )
42
37
  warn "#{ip} is up yet has an invalid hostname" if @verbose
43
38
  @db.up_no_dns( ip )
44
39
  end
@@ -17,13 +17,11 @@ class StoreIPs
17
17
  def up_no_dns ip
18
18
  @red.srem "ip.#{@db}.down", ip
19
19
  @red.sadd "ip.#{@db}.up", ip
20
- @red.save
21
20
  end
22
21
 
23
22
  def down_with_dns ip
24
23
  @red.srem "ip.#{@db}.up", ip
25
24
  @red.sadd "ip.#{@db}.down", ip
26
- @red.save
27
25
  end
28
26
 
29
27
  def dump
@@ -34,4 +32,8 @@ class StoreIPs
34
32
  }
35
33
  end
36
34
 
35
+ def save
36
+ @red.save
37
+ end
38
+
37
39
  end
metadata CHANGED
@@ -1,73 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ddis
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ version: 1.2.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - jspc
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-11-07 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-01-19 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: net-ping
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.5.3
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 5
29
+ segments:
30
+ - 1
31
+ - 5
32
+ - 3
29
33
  version: 1.5.3
30
- - !ruby/object:Gem::Dependency
31
- name: netaddr
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: 1.5.0
38
34
  type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: netaddr
39
38
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 1
47
+ - 5
48
+ - 0
45
49
  version: 1.5.0
46
- - !ruby/object:Gem::Dependency
47
- name: redis
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: 3.0.2
54
50
  type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: redis
55
54
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
55
+ requirement: &id003 !ruby/object:Gem::Requirement
57
56
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 3
63
+ - 0
64
+ - 2
61
65
  version: 3.0.2
66
+ type: :runtime
67
+ version_requirements: *id003
62
68
  description: A small utility to determine the conformity of an IP on a network
63
69
  email: james@zero-internet.org.uk
64
- executables:
70
+ executables:
65
71
  - ddis
66
72
  extensions: []
67
- extra_rdoc_files:
73
+
74
+ extra_rdoc_files:
68
75
  - LICENSE.txt
69
76
  - README.md
70
- files:
77
+ files:
71
78
  - LICENSE.txt
72
79
  - RATIONALE.txt
73
80
  - README.md
@@ -77,26 +84,36 @@ files:
77
84
  - lib/ddis/store_ips.rb
78
85
  homepage: https://github.com/jspc/ddis
79
86
  licenses: []
87
+
80
88
  post_install_message:
81
89
  rdoc_options: []
82
- require_paths:
90
+
91
+ require_paths:
83
92
  - lib
84
- required_ruby_version: !ruby/object:Gem::Requirement
93
+ required_ruby_version: !ruby/object:Gem::Requirement
85
94
  none: false
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
103
  none: false
92
- requirements:
93
- - - ! '>='
94
- - !ruby/object:Gem::Version
95
- version: '0'
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
96
111
  requirements: []
112
+
97
113
  rubyforge_project:
98
114
  rubygems_version: 1.8.24
99
115
  signing_key:
100
116
  specification_version: 3
101
117
  summary: A small utility to determine the conformity of an IP on a network
102
118
  test_files: []
119
+