uniform_resource_identifier 0.1.18 → 0.1.19

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.18
1
+ 0.1.19
@@ -12,13 +12,16 @@ class UniformResourceIdentifier
12
12
  pss = PublicSuffixService.parse(domain)
13
13
 
14
14
  @sld, @tld = pss.sld, pss.tld
15
+ @valid = true
15
16
  rescue PublicSuffixService::DomainInvalid
16
17
  # We couldn't parse your tld (public suffix) =(
17
18
  @tld = domain
19
+ @valid = false
18
20
  end
19
21
  elsif domain.respond_to?(:to_hash)
20
22
  domain.to_hash.symbolize_keys
21
23
  @sld, @tld = domain.values_at(:sld, :tld)
24
+ @valid = domain[:valid]
22
25
  else
23
26
  raise(TypeError, "domain must either be a String or a Hash") unless domain.nil?
24
27
  end
@@ -44,6 +47,10 @@ class UniformResourceIdentifier
44
47
  attr_reader :sld
45
48
  attr_reader :tld
46
49
 
50
+ def valid?
51
+ @valid
52
+ end
53
+
47
54
  def sld=(sld)
48
55
  @sld = sld.nil? ? nil : sld.to_s
49
56
  end
@@ -13,10 +13,10 @@ class UniformResourceIdentifier
13
13
  pss = PublicSuffixService.parse(host)
14
14
 
15
15
  @subdomain = pss.trd
16
- @domain = Domain.new(:sld => pss.sld, :tld => pss.tld)
16
+ @domain = Domain.new(:sld => pss.sld, :tld => pss.tld, :valid => true)
17
17
  rescue PublicSuffixService::DomainInvalid
18
18
  # We couldn't parse your tld (public suffix) =(
19
- @domain = Domain.new(:sld => nil, :tld => host) # TODO: is this proper? see Domain#to_s
19
+ @domain = Domain.new(:sld => nil, :tld => host, :valid => false) # TODO: is this proper? see Domain#to_s
20
20
  end
21
21
  elsif host.respond_to?(:to_hash)
22
22
  host = host.to_hash.symbolize_keys
@@ -10,8 +10,10 @@ class UniformResourceIdentifier
10
10
 
11
11
  regexp = mode == :loose ? LOOSE : STRICT
12
12
  match = uri.match(regexp)
13
- keys = [:protocol, :authority, :user_info, :username, :password, :host,
14
- :port, :relative, :path, :directory, :file, :query, :anchor]
13
+ keys = [
14
+ :protocol, :authority, :user_info, :username, :password, :host,
15
+ :port, :relative, :path, :directory, :file, :query, :anchor
16
+ ]
15
17
 
16
18
  keys.each.with_index.inject({}) do |memo, (key, index)|
17
19
  memo[key] = match.captures[index]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uniform_resource_identifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-04 00:00:00.000000000Z
12
+ date: 2011-11-15 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: public_suffix_service
16
- requirement: &70324823510920 !ruby/object:Gem::Requirement
16
+ requirement: &70095955141720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70324823510920
24
+ version_requirements: *70095955141720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70324823510380 !ruby/object:Gem::Requirement
27
+ requirement: &70095955140460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70324823510380
35
+ version_requirements: *70095955140460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: addressable
38
- requirement: &70324823509840 !ruby/object:Gem::Requirement
38
+ requirement: &70095955139460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.2.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70324823509840
46
+ version_requirements: *70095955139460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: i18n
49
- requirement: &70324823509340 !ruby/object:Gem::Requirement
49
+ requirement: &70095955138140 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.6.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70324823509340
57
+ version_requirements: *70095955138140
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70324823508820 !ruby/object:Gem::Requirement
60
+ requirement: &70095955137520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70324823508820
68
+ version_requirements: *70095955137520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70324823508320 !ruby/object:Gem::Requirement
71
+ requirement: &70095955136460 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 2.6.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70324823508320
79
+ version_requirements: *70095955136460
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: fuubar
82
- requirement: &70324823507780 !ruby/object:Gem::Requirement
82
+ requirement: &70095955135800 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.0.6
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70324823507780
90
+ version_requirements: *70095955135800
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: watchr
93
- requirement: &70324823507240 !ruby/object:Gem::Requirement
93
+ requirement: &70095955135080 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: 0.7.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70324823507240
101
+ version_requirements: *70095955135080
102
102
  description: ! '`uniform_resource_identifier` splits URIs according to RFC 3986 using
103
103
  regexp, attempts to check the public suffix using `public_suffix_service`, and serializes
104
104
  the query string using `active_support` and `addressable`'