alexrabarts-tld 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +15 -0
- data/Manifest.txt +22 -0
- data/README.txt +66 -0
- data/Rakefile +20 -0
- data/lib/tld/alpha3.rb +13 -0
- data/lib/tld/cc_tld.rb +772 -0
- data/lib/tld/currency.rb +24 -0
- data/lib/tld/generic_tld.rb +28 -0
- data/lib/tld/infrastructure_tld.rb +10 -0
- data/lib/tld/name.rb +50 -0
- data/lib/tld/pseudo_tld.rb +28 -0
- data/lib/tld/reserved_tld.rb +19 -0
- data/lib/tld/retired_tld.rb +10 -0
- data/lib/tld/sponsored_tld.rb +46 -0
- data/lib/tld/tld.rb +86 -0
- data/lib/tld.rb +14 -0
- data/rakelib/cultivate.rake +7 -0
- data/rakelib/tld.rake +30 -0
- data/rakelib/tld.rb +102 -0
- data/rakelib/tld.rb.erb +12 -0
- data/test/test_tld.rb +54 -0
- data/tld.gemspec +37 -0
- metadata +95 -0
data/lib/tld/currency.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iso_country_codes'
|
3
|
+
|
4
|
+
class TLD
|
5
|
+
class Currency
|
6
|
+
CURRENCY_MAP = {
|
7
|
+
:eu => %w{EUR},
|
8
|
+
:gov => %w{USD},
|
9
|
+
:mil => %w{USD}
|
10
|
+
}
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def find(klass)
|
14
|
+
tld = klass.tld
|
15
|
+
mapped_currency = CURRENCY_MAP[tld.to_sym]
|
16
|
+
if mapped_currency.nil?
|
17
|
+
return tld.match(/^\w\w$/) ? IsoCountryCodes.find(TLD::MAP[tld.to_sym] || tld).currencies : []
|
18
|
+
else
|
19
|
+
return mapped_currency
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class TLD
|
2
|
+
class GenericTld < TLD
|
3
|
+
def type
|
4
|
+
:generic
|
5
|
+
end
|
6
|
+
class BIZ < GenericTld #:nodoc:
|
7
|
+
self.tld = %q{biz}
|
8
|
+
end
|
9
|
+
class COM < GenericTld #:nodoc:
|
10
|
+
self.tld = %q{com}
|
11
|
+
end
|
12
|
+
class INFO < GenericTld #:nodoc:
|
13
|
+
self.tld = %q{info}
|
14
|
+
end
|
15
|
+
class NAME < GenericTld #:nodoc:
|
16
|
+
self.tld = %q{name}
|
17
|
+
end
|
18
|
+
class NET < GenericTld #:nodoc:
|
19
|
+
self.tld = %q{net}
|
20
|
+
end
|
21
|
+
class ORG < GenericTld #:nodoc:
|
22
|
+
self.tld = %q{org}
|
23
|
+
end
|
24
|
+
class PRO < GenericTld #:nodoc:
|
25
|
+
self.tld = %q{pro}
|
26
|
+
end
|
27
|
+
end # end GenericTld
|
28
|
+
end # end TLD
|
data/lib/tld/name.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'iso_country_codes'
|
3
|
+
|
4
|
+
class TLD
|
5
|
+
class Name
|
6
|
+
NAME_MAP = {
|
7
|
+
:aero => 'Aeroplane',
|
8
|
+
:arpa => 'Address and Routing Parameter Area (ARPA)',
|
9
|
+
:asia => 'Asia',
|
10
|
+
:bitnet => 'BITNET',
|
11
|
+
:biz => 'Business',
|
12
|
+
:cat => 'Catalan',
|
13
|
+
:com => 'Commercial',
|
14
|
+
:coop => 'Cooperative',
|
15
|
+
:csnet => 'Computer Science Network (CSNET)',
|
16
|
+
:edu => 'Education',
|
17
|
+
:eu => 'European Union',
|
18
|
+
:example => 'Example domain',
|
19
|
+
:exit => 'Preferred Tor exit node',
|
20
|
+
:gov => 'US Government',
|
21
|
+
:info => 'Information',
|
22
|
+
:int => 'Internet',
|
23
|
+
:invalid => 'Invalid domain',
|
24
|
+
:jobs => 'Jobs',
|
25
|
+
:local => 'Network discovery protocol',
|
26
|
+
:localhost => 'Localhost',
|
27
|
+
:mil => 'US Military',
|
28
|
+
:mobi => 'Mobile',
|
29
|
+
:museum => 'Museum',
|
30
|
+
:name => 'Name',
|
31
|
+
:nato => 'North Atlantic Treaty Organization (NATO)',
|
32
|
+
:net => 'Network',
|
33
|
+
:onion => 'Reachable via Tor',
|
34
|
+
:org => 'Organization',
|
35
|
+
:pro => 'Professional',
|
36
|
+
:root => 'Diagnostic marker',
|
37
|
+
:tel => 'Telnic',
|
38
|
+
:test => 'Test domain',
|
39
|
+
:travel => 'Travel',
|
40
|
+
:uucp => 'Reachable by Unix to Unix CoPy (UUCP)'
|
41
|
+
}
|
42
|
+
|
43
|
+
class << self
|
44
|
+
def find(klass)
|
45
|
+
tld = klass.tld
|
46
|
+
NAME_MAP[tld.to_sym] || IsoCountryCodes.find(TLD::MAP[tld.to_sym] || tld).name
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class TLD
|
2
|
+
class PseudoTld < TLD
|
3
|
+
def type
|
4
|
+
:pseudo
|
5
|
+
end
|
6
|
+
class BITNET < PseudoTld #:nodoc:
|
7
|
+
self.tld = %q{bitnet}
|
8
|
+
end
|
9
|
+
class CSNET < PseudoTld #:nodoc:
|
10
|
+
self.tld = %q{csnet}
|
11
|
+
end
|
12
|
+
class LOCAL < PseudoTld #:nodoc:
|
13
|
+
self.tld = %q{local}
|
14
|
+
end
|
15
|
+
class ROOT < PseudoTld #:nodoc:
|
16
|
+
self.tld = %q{root}
|
17
|
+
end
|
18
|
+
class UUCP < PseudoTld #:nodoc:
|
19
|
+
self.tld = %q{uucp}
|
20
|
+
end
|
21
|
+
class ONION < PseudoTld #:nodoc:
|
22
|
+
self.tld = %q{onion}
|
23
|
+
end
|
24
|
+
class EXIT < PseudoTld #:nodoc:
|
25
|
+
self.tld = %q{exit}
|
26
|
+
end
|
27
|
+
end # end PseudoTld
|
28
|
+
end # end TLD
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class TLD
|
2
|
+
class ReservedTld < TLD
|
3
|
+
def type
|
4
|
+
:reserved
|
5
|
+
end
|
6
|
+
class EXAMPLE < ReservedTld #:nodoc:
|
7
|
+
self.tld = %q{example}
|
8
|
+
end
|
9
|
+
class INVALID < ReservedTld #:nodoc:
|
10
|
+
self.tld = %q{invalid}
|
11
|
+
end
|
12
|
+
class LOCALHOST < ReservedTld #:nodoc:
|
13
|
+
self.tld = %q{localhost}
|
14
|
+
end
|
15
|
+
class TEST < ReservedTld #:nodoc:
|
16
|
+
self.tld = %q{test}
|
17
|
+
end
|
18
|
+
end # end ReservedTld
|
19
|
+
end # end TLD
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class TLD
|
2
|
+
class SponsoredTld < TLD
|
3
|
+
def type
|
4
|
+
:sponsored
|
5
|
+
end
|
6
|
+
class AERO < SponsoredTld #:nodoc:
|
7
|
+
self.tld = %q{aero}
|
8
|
+
end
|
9
|
+
class ASIA < SponsoredTld #:nodoc:
|
10
|
+
self.tld = %q{asia}
|
11
|
+
end
|
12
|
+
class CAT < SponsoredTld #:nodoc:
|
13
|
+
self.tld = %q{cat}
|
14
|
+
end
|
15
|
+
class COOP < SponsoredTld #:nodoc:
|
16
|
+
self.tld = %q{coop}
|
17
|
+
end
|
18
|
+
class EDU < SponsoredTld #:nodoc:
|
19
|
+
self.tld = %q{edu}
|
20
|
+
end
|
21
|
+
class GOV < SponsoredTld #:nodoc:
|
22
|
+
self.tld = %q{gov}
|
23
|
+
end
|
24
|
+
class INT < SponsoredTld #:nodoc:
|
25
|
+
self.tld = %q{int}
|
26
|
+
end
|
27
|
+
class JOBS < SponsoredTld #:nodoc:
|
28
|
+
self.tld = %q{jobs}
|
29
|
+
end
|
30
|
+
class MIL < SponsoredTld #:nodoc:
|
31
|
+
self.tld = %q{mil}
|
32
|
+
end
|
33
|
+
class MOBI < SponsoredTld #:nodoc:
|
34
|
+
self.tld = %q{mobi}
|
35
|
+
end
|
36
|
+
class MUSEUM < SponsoredTld #:nodoc:
|
37
|
+
self.tld = %q{museum}
|
38
|
+
end
|
39
|
+
class TEL < SponsoredTld #:nodoc:
|
40
|
+
self.tld = %q{tel}
|
41
|
+
end
|
42
|
+
class TRAVEL < SponsoredTld #:nodoc:
|
43
|
+
self.tld = %q{travel}
|
44
|
+
end
|
45
|
+
end # end SponsoredTld
|
46
|
+
end # end TLD
|
data/lib/tld/tld.rb
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
class TLD
|
4
|
+
VERSION = '0.2.0'
|
5
|
+
|
6
|
+
MAP = {
|
7
|
+
:ac => 'sh',
|
8
|
+
:uk => 'gb',
|
9
|
+
:su => 'ru',
|
10
|
+
:tp => 'tl',
|
11
|
+
:yu => 'rs'
|
12
|
+
}
|
13
|
+
|
14
|
+
include Singleton
|
15
|
+
|
16
|
+
class UnknownTldError < StandardError; end
|
17
|
+
|
18
|
+
def tld
|
19
|
+
self.class.tld
|
20
|
+
end
|
21
|
+
|
22
|
+
def name
|
23
|
+
self.class.name
|
24
|
+
end
|
25
|
+
|
26
|
+
def main_currency
|
27
|
+
self.class.main_currency
|
28
|
+
end
|
29
|
+
|
30
|
+
def currency
|
31
|
+
self.class.main_currency
|
32
|
+
end
|
33
|
+
|
34
|
+
def currencies
|
35
|
+
self.class.currencies
|
36
|
+
end
|
37
|
+
|
38
|
+
def alpha3
|
39
|
+
self.class.alpha3
|
40
|
+
end
|
41
|
+
|
42
|
+
class << self
|
43
|
+
attr_accessor :tld
|
44
|
+
|
45
|
+
@@tlds = []
|
46
|
+
|
47
|
+
def inherited(tld) #:nodoc:
|
48
|
+
super
|
49
|
+
@@tlds << tld.instance unless self == TLD
|
50
|
+
end
|
51
|
+
|
52
|
+
def all
|
53
|
+
@@tlds.uniq
|
54
|
+
end
|
55
|
+
|
56
|
+
def name
|
57
|
+
Name.find(self)
|
58
|
+
end
|
59
|
+
|
60
|
+
def currencies
|
61
|
+
Currency.find(self)
|
62
|
+
end
|
63
|
+
|
64
|
+
def alpha3
|
65
|
+
Alpha3.find(self)
|
66
|
+
end
|
67
|
+
|
68
|
+
def main_currency
|
69
|
+
currencies.first
|
70
|
+
end
|
71
|
+
|
72
|
+
alias_method :currency, :main_currency
|
73
|
+
|
74
|
+
def find(str)
|
75
|
+
str.downcase!
|
76
|
+
str.sub!(/^\w+:\/\//, '') # Strip protocol
|
77
|
+
str = str.split('/').first if str.match(/\//) # Throw away anything after a slash
|
78
|
+
str = str.split('.').last if str.match(/\./) # Take the last one of foo.bar.baz
|
79
|
+
instance = all.select { |t| t.tld == str }.first
|
80
|
+
|
81
|
+
raise UnknownTldError, "TLD '#{str}' unkown." if instance.nil?
|
82
|
+
|
83
|
+
instance
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/lib/tld.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
dir = File.dirname(__FILE__)
|
2
|
+
$LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
|
3
|
+
|
4
|
+
require 'tld/tld'
|
5
|
+
require 'tld/cc_tld'
|
6
|
+
require 'tld/generic_tld'
|
7
|
+
require 'tld/infrastructure_tld'
|
8
|
+
require 'tld/pseudo_tld'
|
9
|
+
require 'tld/reserved_tld'
|
10
|
+
require 'tld/retired_tld'
|
11
|
+
require 'tld/sponsored_tld'
|
12
|
+
require 'tld/currency'
|
13
|
+
require 'tld/name'
|
14
|
+
require 'tld/alpha3'
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Only works on unixy type systems.
|
2
|
+
# http://blog.behindlogic.com/2008/10/auto-generate-your-manifest-and-gemspec.html
|
3
|
+
desc 'Rebuild manifest and gemspec.'
|
4
|
+
task :cultivate do
|
5
|
+
system %q{touch Manifest.txt; rake check_manifest | grep -v "(in " | patch}
|
6
|
+
system %q{rake debug_gem | grep -v "(in " > `basename \`pwd\``.gemspec}
|
7
|
+
end
|
data/rakelib/tld.rake
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
namespace :update do
|
2
|
+
desc "Create CcTld classes from Wikipedia's list of ccTLDs."
|
3
|
+
task :tlds do
|
4
|
+
dirname = File.dirname(__FILE__)
|
5
|
+
gen = File.join(dirname, %w{tld.rb})
|
6
|
+
cc_lib = File.expand_path(File.join(dirname, %w{.. lib tld cc_tld.rb}))
|
7
|
+
generic_lib = File.expand_path(File.join(dirname, %w{.. lib tld generic_tld.rb}))
|
8
|
+
infrastructure_lib = File.expand_path(File.join(dirname, %w{.. lib tld infrastructure_tld.rb}))
|
9
|
+
pseudo_lib = File.expand_path(File.join(dirname, %w{.. lib tld pseudo_tld.rb}))
|
10
|
+
reserved_lib = File.expand_path(File.join(dirname, %w{.. lib tld reserved_tld.rb}))
|
11
|
+
retired_lib = File.expand_path(File.join(dirname, %w{.. lib tld retired_tld.rb}))
|
12
|
+
sponsored_lib = File.expand_path(File.join(dirname, %w{.. lib tld sponsored_tld.rb}))
|
13
|
+
|
14
|
+
require gen
|
15
|
+
|
16
|
+
{
|
17
|
+
cc_lib => TLD::Task::UpdateCcTlds,
|
18
|
+
generic_lib => TLD::Task::UpdateGenericTlds,
|
19
|
+
infrastructure_lib => TLD::Task::UpdateInfrastructureTlds,
|
20
|
+
pseudo_lib => TLD::Task::UpdatePseudoTlds,
|
21
|
+
reserved_lib => TLD::Task::UpdateReservedTlds,
|
22
|
+
retired_lib => TLD::Task::UpdateRetiredTlds,
|
23
|
+
sponsored_lib => TLD::Task::UpdateSponsoredTlds
|
24
|
+
}.each_pair do |lib, klass|
|
25
|
+
File.open(lib, File::CREAT | File::TRUNC | File::WRONLY) do |f|
|
26
|
+
f.write klass.get
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end # :currency
|
data/rakelib/tld.rb
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'hpricot'
|
2
|
+
require 'open-uri'
|
3
|
+
require 'erubis'
|
4
|
+
|
5
|
+
class TLD
|
6
|
+
module Task
|
7
|
+
def self.to_ruby(tlds, klass, type)
|
8
|
+
tmpl = File.read(File.join(File.dirname(__FILE__), 'tld.rb.erb'))
|
9
|
+
eruby = Erubis::Eruby.new(tmpl)
|
10
|
+
eruby.result(:tlds => tlds, :klass => klass, :type => type)
|
11
|
+
end
|
12
|
+
|
13
|
+
module UpdateCcTlds
|
14
|
+
def self.get
|
15
|
+
tlds = []
|
16
|
+
node = nil
|
17
|
+
doc = Hpricot(open('http://en.wikipedia.org/wiki/Country_code_top-level_domain').read)
|
18
|
+
nodes = doc.search('strong.selflink')
|
19
|
+
found = false
|
20
|
+
|
21
|
+
nodes.each do |n|
|
22
|
+
node = n
|
23
|
+
if node.inner_html == 'Country code top-level domains'
|
24
|
+
found = true
|
25
|
+
break
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
return nil unless found
|
30
|
+
node.parent.parent.parent.next_sibling.next_sibling.search('a').each do |a|
|
31
|
+
tld = a.inner_text.upcase
|
32
|
+
tld.slice!(0) # Remove the leading '.'
|
33
|
+
break unless tld.match(/^\w\w$/)
|
34
|
+
tlds.push(tld)
|
35
|
+
end
|
36
|
+
|
37
|
+
Task.to_ruby(tlds, 'CcTld', :cc)
|
38
|
+
end
|
39
|
+
end # end UpdateCcTlds
|
40
|
+
|
41
|
+
module UpdateNonCcTlds
|
42
|
+
def self.get(inner_text_match)
|
43
|
+
tlds = []
|
44
|
+
node = nil
|
45
|
+
doc = Hpricot(open('http://en.wikipedia.org/wiki/Top-level_domain').read)
|
46
|
+
seen = {}
|
47
|
+
doc.search('table.nowraplinks.navbox-subgroup tr').each do |tr|
|
48
|
+
tr.search('td').each do |td|
|
49
|
+
if td.inner_text == inner_text_match
|
50
|
+
td = td.next_sibling
|
51
|
+
td.search('a').each do |a|
|
52
|
+
tld = a.inner_text.upcase
|
53
|
+
next if seen[tld]
|
54
|
+
seen[tld] = true
|
55
|
+
tld.slice!(0) # Remove the leading '.'
|
56
|
+
tlds.push(tld)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
tlds
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
module UpdateGenericTlds
|
67
|
+
def self.get
|
68
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Generic'), 'GenericTld', :generic)
|
69
|
+
end
|
70
|
+
end # end UpdateGenericTlds
|
71
|
+
|
72
|
+
module UpdateInfrastructureTlds
|
73
|
+
def self.get
|
74
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Infrastructure'), 'InfrastructureTld', :infrastructure)
|
75
|
+
end
|
76
|
+
end # end UpdateInfrastructureTlds
|
77
|
+
|
78
|
+
module UpdatePseudoTlds
|
79
|
+
def self.get
|
80
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Pseudo'), 'PseudoTld', :pseudo)
|
81
|
+
end
|
82
|
+
end # end UpdatePseudoTlds
|
83
|
+
|
84
|
+
module UpdateReservedTlds
|
85
|
+
def self.get
|
86
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Reserved'), 'ReservedTld', :reserved)
|
87
|
+
end
|
88
|
+
end # end UpdateReservedTlds
|
89
|
+
|
90
|
+
module UpdateRetiredTlds
|
91
|
+
def self.get
|
92
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Deleted/retired'), 'RetiredTld', :retired)
|
93
|
+
end
|
94
|
+
end # end UpdateRetiredTlds
|
95
|
+
|
96
|
+
module UpdateSponsoredTlds
|
97
|
+
def self.get
|
98
|
+
Task.to_ruby(Task::UpdateNonCcTlds.get('Sponsored'), 'SponsoredTld', :sponsored)
|
99
|
+
end
|
100
|
+
end # end UpdateSponsoredTlds
|
101
|
+
end # Task
|
102
|
+
end # TLD
|
data/rakelib/tld.rb.erb
ADDED
data/test/test_tld.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'tld'
|
3
|
+
|
4
|
+
class TestTld < Test::Unit::TestCase
|
5
|
+
def test_find_tld_by_exact_match
|
6
|
+
assert_equal 'au', TLD.find('au').tld
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_find_tld_by_exact_match_with_dot
|
10
|
+
assert_equal 'au', TLD.find('.au').tld
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_find_tld_with_case
|
14
|
+
assert_equal 'au', TLD.find('AU').tld
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_find_tld_by_hostname
|
18
|
+
assert_equal 'au', TLD.find('foo.bar.au').tld
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_find_tld_by_url
|
22
|
+
assert_equal 'au', TLD.find('http://foo.bar.au/baz').tld
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_get_tld_currency
|
26
|
+
assert_equal 'AUD', TLD.find('au').currency
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_get_mapped_tld_currency
|
30
|
+
assert_equal 'EUR', TLD.find('eu').currency
|
31
|
+
assert_equal 'GBP', TLD.find('uk').currency
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_get_tld_name
|
35
|
+
assert_equal 'Australia', TLD.find('au').name
|
36
|
+
assert_equal 'Business', TLD.find('biz').name
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_get_iso_alpha3_code
|
40
|
+
assert_equal 'AUS', TLD.find('au').alpha3
|
41
|
+
assert_equal 'GBR', TLD.find('uk').alpha3
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_com_should_map_to_empty_currency_not_comoros
|
45
|
+
assert_equal [], TLD.find('com').currencies
|
46
|
+
assert_nil TLD.find('com').currency
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_unknown_tld
|
50
|
+
assert_raises TLD::UnknownTldError do
|
51
|
+
TLD.find('foo')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/tld.gemspec
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{tld}
|
5
|
+
s.version = "0.2.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Alex Rabarts"]
|
9
|
+
s.date = %q{2008-11-28}
|
10
|
+
s.description = %q{Provides meta information for Internet Top Level Domains (TLDs) such as a descriptive name, associated currency code and the TLD category.}
|
11
|
+
s.email = ["alexrabarts@gmail.com"]
|
12
|
+
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
|
13
|
+
s.files = ["History.txt", "Manifest.txt", "README.txt", "Rakefile", "lib/tld.rb", "lib/tld/alpha3.rb", "lib/tld/cc_tld.rb", "lib/tld/currency.rb", "lib/tld/generic_tld.rb", "lib/tld/infrastructure_tld.rb", "lib/tld/name.rb", "lib/tld/pseudo_tld.rb", "lib/tld/reserved_tld.rb", "lib/tld/retired_tld.rb", "lib/tld/sponsored_tld.rb", "lib/tld/tld.rb", "rakelib/cultivate.rake", "rakelib/tld.rake", "rakelib/tld.rb", "rakelib/tld.rb.erb", "test/test_tld.rb", "tld.gemspec"]
|
14
|
+
s.has_rdoc = true
|
15
|
+
s.rdoc_options = ["--main", "README.txt"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{tld}
|
18
|
+
s.rubygems_version = %q{1.3.1}
|
19
|
+
s.summary = %q{Provides meta information for Internet Top Level Domains (TLDs) such as a descriptive name, associated currency code and the TLD category.}
|
20
|
+
s.test_files = ["test/test_tld.rb"]
|
21
|
+
|
22
|
+
if s.respond_to? :specification_version then
|
23
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
24
|
+
s.specification_version = 2
|
25
|
+
|
26
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
|
+
s.add_runtime_dependency(%q<alexrabarts-iso_country_codes>, [">= 0"])
|
28
|
+
s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
|
29
|
+
else
|
30
|
+
s.add_dependency(%q<alexrabarts-iso_country_codes>, [">= 0"])
|
31
|
+
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
32
|
+
end
|
33
|
+
else
|
34
|
+
s.add_dependency(%q<alexrabarts-iso_country_codes>, [">= 0"])
|
35
|
+
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
36
|
+
end
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: alexrabarts-tld
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alex Rabarts
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-11-28 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: alexrabarts-iso_country_codes
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "0"
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: hoe
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 1.8.2
|
32
|
+
version:
|
33
|
+
description: Provides meta information for Internet Top Level Domains (TLDs) such as a descriptive name, associated currency code and the TLD category.
|
34
|
+
email:
|
35
|
+
- alexrabarts@gmail.com
|
36
|
+
executables: []
|
37
|
+
|
38
|
+
extensions: []
|
39
|
+
|
40
|
+
extra_rdoc_files:
|
41
|
+
- History.txt
|
42
|
+
- Manifest.txt
|
43
|
+
- README.txt
|
44
|
+
files:
|
45
|
+
- History.txt
|
46
|
+
- Manifest.txt
|
47
|
+
- README.txt
|
48
|
+
- Rakefile
|
49
|
+
- lib/tld.rb
|
50
|
+
- lib/tld/alpha3.rb
|
51
|
+
- lib/tld/cc_tld.rb
|
52
|
+
- lib/tld/currency.rb
|
53
|
+
- lib/tld/generic_tld.rb
|
54
|
+
- lib/tld/infrastructure_tld.rb
|
55
|
+
- lib/tld/name.rb
|
56
|
+
- lib/tld/pseudo_tld.rb
|
57
|
+
- lib/tld/reserved_tld.rb
|
58
|
+
- lib/tld/retired_tld.rb
|
59
|
+
- lib/tld/sponsored_tld.rb
|
60
|
+
- lib/tld/tld.rb
|
61
|
+
- rakelib/cultivate.rake
|
62
|
+
- rakelib/tld.rake
|
63
|
+
- rakelib/tld.rb
|
64
|
+
- rakelib/tld.rb.erb
|
65
|
+
- test/test_tld.rb
|
66
|
+
- tld.gemspec
|
67
|
+
has_rdoc: true
|
68
|
+
homepage:
|
69
|
+
post_install_message:
|
70
|
+
rdoc_options:
|
71
|
+
- --main
|
72
|
+
- README.txt
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
version:
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: "0"
|
86
|
+
version:
|
87
|
+
requirements: []
|
88
|
+
|
89
|
+
rubyforge_project: tld
|
90
|
+
rubygems_version: 1.2.0
|
91
|
+
signing_key:
|
92
|
+
specification_version: 2
|
93
|
+
summary: Provides meta information for Internet Top Level Domains (TLDs) such as a descriptive name, associated currency code and the TLD category.
|
94
|
+
test_files:
|
95
|
+
- test/test_tld.rb
|