whois 2.0.1 → 2.0.2
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.rdoc +8 -0
- data/LICENSE +2 -2
- data/README.rdoc +1 -1
- data/Rakefile +6 -7
- data/lib/whois/record/parser/whois.nic.it.rb +3 -0
- data/lib/whois/record/parser/whois.ripn.net.rb +2 -3
- data/lib/whois/record/parser.rb +1 -1
- data/lib/whois/version.rb +1 -1
- data/spec/fixtures/responses/whois.nic.it/property_status_unassignable.expected +8 -0
- data/spec/fixtures/responses/whois.nic.it/property_status_unassignable.txt +2 -0
- data/spec/fixtures/responses/whois.ripn.net/ru/status_registered.expected +8 -1
- data/spec/support/helpers/spec_helper.rb +16 -11
- data/spec/whois/record/parser/responses/whois.nic.it/property_status_unassignable_spec.rb +39 -0
- data/spec/whois/record/parser/responses/whois.ripn.net/ru/status_registered_spec.rb +8 -1
- data/whois.gemspec +5 -6
- metadata +8 -6
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
= Changelog
|
2
2
|
|
3
|
+
|
4
|
+
== Release 2.0.2
|
5
|
+
|
6
|
+
* CHANGED: whois.ripn.net now returns an array of contacts, one for each email (#89)
|
7
|
+
|
8
|
+
* FIXED: whois.nic.it parser must support UNASSIGNABLE status.
|
9
|
+
|
10
|
+
|
3
11
|
== Release 2.0.1
|
4
12
|
|
5
13
|
* FIXED: Removed invalid test files.
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
The MIT License
|
2
2
|
|
3
|
-
|
3
|
+
Copyright (c) 2009-2011 Simone Carletti <weppos@weppos.net>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
6
6
|
a copy of this software and associated documentation files (the
|
data/README.rdoc
CHANGED
@@ -124,7 +124,7 @@ Any WHOIS query returns a <tt>Whois::Record</tt>. This object looks like a Strin
|
|
124
124
|
r.created_on
|
125
125
|
# => Fri Dec 10 00:00:00 +0100 1999
|
126
126
|
|
127
|
-
t = r.
|
127
|
+
t = r.technical_contact
|
128
128
|
# => #<Whois::Record::Contact>
|
129
129
|
t.id
|
130
130
|
# => "TS7016-ITNIC"
|
data/Rakefile
CHANGED
@@ -34,8 +34,8 @@ spec = Gem::Specification.new do |s|
|
|
34
34
|
|
35
35
|
s.required_ruby_version = ">= 1.8.7"
|
36
36
|
|
37
|
-
s.
|
38
|
-
s.email = "weppos@weppos.net"
|
37
|
+
s.authors = ["Simone Carletti"]
|
38
|
+
s.email = ["weppos@weppos.net"]
|
39
39
|
s.homepage = "http://www.ruby-whois.org"
|
40
40
|
s.rubyforge_project = "whois"
|
41
41
|
|
@@ -101,13 +101,12 @@ namespace :multitest do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
|
104
|
-
|
105
|
-
|
106
|
-
rm "#{spec.name}.gemspec" if File.file?("#{spec.name}.gemspec")
|
104
|
+
task :clean_gemspec do
|
105
|
+
rm "#{spec.name}.gemspec" rescue nil
|
107
106
|
end
|
108
107
|
|
109
|
-
|
110
|
-
task :clobber => [:
|
108
|
+
task :clean => [:clean_gemspec]
|
109
|
+
task :clobber => [:clobber_package]
|
111
110
|
|
112
111
|
desc "Package the library and generates the gemspec"
|
113
112
|
task :package => [:gemspec]
|
@@ -49,6 +49,8 @@ module Whois
|
|
49
49
|
:registered
|
50
50
|
when "pendingdelete / redemptionperiod", "grace-period"
|
51
51
|
:registered
|
52
|
+
when "unassignable"
|
53
|
+
:reserved
|
52
54
|
when "available"
|
53
55
|
:available
|
54
56
|
else
|
@@ -61,6 +63,7 @@ module Whois
|
|
61
63
|
end
|
62
64
|
|
63
65
|
property_supported :registered? do
|
66
|
+
node("Status") != "UNASSIGNABLE" &&
|
64
67
|
!available?
|
65
68
|
end
|
66
69
|
|
@@ -67,15 +67,14 @@ module Whois
|
|
67
67
|
|
68
68
|
|
69
69
|
property_supported :admin_contacts do
|
70
|
-
|
70
|
+
content_for_scanner.scan(/e-mail:\s+(.+)\n/).flatten.map do |email|
|
71
71
|
Record::Contact.new(
|
72
72
|
:type => Record::Contact::TYPE_ADMIN,
|
73
73
|
:name => content_for_scanner[/person:\s+(.+)\n/, 1],
|
74
74
|
:organization => content_for_scanner[/org:\s+(.+)\n/, 1],
|
75
75
|
:phone => content_for_scanner[/phone:\s+(.+)\n/, 1],
|
76
76
|
:fax => content_for_scanner[/fax-no:\s+(.+)\n/, 1],
|
77
|
-
|
78
|
-
:email => content_for_scanner[/e-mail:\s+(.+)\n/, 1]
|
77
|
+
:email => email
|
79
78
|
)
|
80
79
|
end
|
81
80
|
end
|
data/lib/whois/record/parser.rb
CHANGED
data/lib/whois/version.rb
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
|
32
32
|
#admin_contacts
|
33
33
|
should: %s be_a(Array)
|
34
|
-
should: %s have(
|
34
|
+
should: %s have(2).items
|
35
35
|
should: %s[0] be_a(_contact)
|
36
36
|
should: %s[0].type == Whois::Record::Contact::TYPE_ADMIN
|
37
37
|
should: %s[0].id == nil
|
@@ -40,6 +40,13 @@
|
|
40
40
|
should: %s[0].phone == "+1 650 330 0100"
|
41
41
|
should: %s[0].fax == "+1 650 618 8571"
|
42
42
|
should: %s[0].email == "dns-admin@google.com"
|
43
|
+
should: %s[1].type == Whois::Record::Contact::TYPE_ADMIN
|
44
|
+
should: %s[1].id == nil
|
45
|
+
should: %s[1].name == nil
|
46
|
+
should: %s[1].organization == "Google Inc"
|
47
|
+
should: %s[1].phone == "+1 650 330 0100"
|
48
|
+
should: %s[1].fax == "+1 650 618 8571"
|
49
|
+
should: %s[1].email == "ccops@markmonitor.com"
|
43
50
|
|
44
51
|
#technical_contacts
|
45
52
|
should: %s raise_error(Whois::PropertyNotSupported)
|
@@ -1,3 +1,18 @@
|
|
1
|
+
module Helper
|
2
|
+
|
3
|
+
# Gets the currently described class.
|
4
|
+
# Conversely to +subject+, it returns the class
|
5
|
+
# instead of an instance.
|
6
|
+
def klass
|
7
|
+
described_class
|
8
|
+
end
|
9
|
+
|
10
|
+
def fixture(*names)
|
11
|
+
File.join(SPEC_ROOT, "fixtures", *names)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
1
16
|
module SpecHelper
|
2
17
|
|
3
18
|
private
|
@@ -31,17 +46,6 @@ module SpecHelper
|
|
31
46
|
Whois::Record::Parser::Base.send :class_variable_set, :@@property_registry, @_property_registry
|
32
47
|
end
|
33
48
|
|
34
|
-
# Gets the currently described class.
|
35
|
-
# Conversely to +subject+, it returns the class
|
36
|
-
# instead of an instance.
|
37
|
-
def klass
|
38
|
-
described_class
|
39
|
-
end
|
40
|
-
|
41
|
-
def fixture(*names)
|
42
|
-
File.join(SPEC_ROOT, "fixtures", *names)
|
43
|
-
end
|
44
|
-
|
45
49
|
def nameserver(*params)
|
46
50
|
Whois::Record::Nameserver.new(*params)
|
47
51
|
end
|
@@ -49,5 +53,6 @@ module SpecHelper
|
|
49
53
|
end
|
50
54
|
|
51
55
|
RSpec.configure do |config|
|
56
|
+
config.include Helper
|
52
57
|
config.include SpecHelper
|
53
58
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# This file is autogenerated. Do not edit it manually.
|
4
|
+
# If you want change the content of this file, edit
|
5
|
+
#
|
6
|
+
# /spec/fixtures/responses/whois.nic.it/property_status_unassignable.expected
|
7
|
+
#
|
8
|
+
# and regenerate the tests with the following rake task
|
9
|
+
#
|
10
|
+
# $ rake genspec:parsers
|
11
|
+
#
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'whois/record/parser/whois.nic.it.rb'
|
15
|
+
|
16
|
+
describe Whois::Record::Parser::WhoisNicIt, "property_status_unassignable.expected" do
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
file = fixture("responses", "whois.nic.it/property_status_unassignable.txt")
|
20
|
+
part = Whois::Record::Part.new(:body => File.read(file))
|
21
|
+
@parser = klass.new(part)
|
22
|
+
end
|
23
|
+
|
24
|
+
context "#status" do
|
25
|
+
it do
|
26
|
+
@parser.status.should == :reserved
|
27
|
+
end
|
28
|
+
end
|
29
|
+
context "#available?" do
|
30
|
+
it do
|
31
|
+
@parser.available?.should == false
|
32
|
+
end
|
33
|
+
end
|
34
|
+
context "#registered?" do
|
35
|
+
it do
|
36
|
+
@parser.registered?.should == false
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -69,7 +69,7 @@ describe Whois::Record::Parser::WhoisRipnNet, "status_registered.expected" do
|
|
69
69
|
context "#admin_contacts" do
|
70
70
|
it do
|
71
71
|
@parser.admin_contacts.should be_a(Array)
|
72
|
-
@parser.admin_contacts.should have(
|
72
|
+
@parser.admin_contacts.should have(2).items
|
73
73
|
@parser.admin_contacts[0].should be_a(_contact)
|
74
74
|
@parser.admin_contacts[0].type.should == Whois::Record::Contact::TYPE_ADMIN
|
75
75
|
@parser.admin_contacts[0].id.should == nil
|
@@ -78,6 +78,13 @@ describe Whois::Record::Parser::WhoisRipnNet, "status_registered.expected" do
|
|
78
78
|
@parser.admin_contacts[0].phone.should == "+1 650 330 0100"
|
79
79
|
@parser.admin_contacts[0].fax.should == "+1 650 618 8571"
|
80
80
|
@parser.admin_contacts[0].email.should == "dns-admin@google.com"
|
81
|
+
@parser.admin_contacts[1].type.should == Whois::Record::Contact::TYPE_ADMIN
|
82
|
+
@parser.admin_contacts[1].id.should == nil
|
83
|
+
@parser.admin_contacts[1].name.should == nil
|
84
|
+
@parser.admin_contacts[1].organization.should == "Google Inc"
|
85
|
+
@parser.admin_contacts[1].phone.should == "+1 650 330 0100"
|
86
|
+
@parser.admin_contacts[1].fax.should == "+1 650 618 8571"
|
87
|
+
@parser.admin_contacts[1].email.should == "ccops@markmonitor.com"
|
81
88
|
end
|
82
89
|
end
|
83
90
|
context "#technical_contacts" do
|