alexrabarts-tld 0.2.0
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/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
|