uniform_resource_identifier 0.1.10 → 0.1.11

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.10
1
+ 0.1.11
@@ -1,114 +1,151 @@
1
1
  RSpec::Matchers.define(:have_uri_specification) do |uri_specification|
2
2
  match do |uri_string|
3
+ false.should == true unless uri_specification.respond_to?(:to_hash)
4
+ false.should == true if uri_specification == {}
5
+
3
6
  url = UniformResourceIdentifier.parse(uri_string)
7
+ uri_specification = uri_specification.to_hash
4
8
 
5
9
  # ======================================================================= #
6
10
  # = Protocol/Scheme = #
7
11
  # ======================================================================= #
8
12
 
9
- url.protocol.class.should == String
10
- url.protocol.to_s.should == uri_specification[:protocol]
11
- url.scheme.class.should == String # Alias
12
- url.scheme.to_s.should == uri_specification[:protocol] # Alias
13
-
13
+ unless uri_specification.has_key?(:authority)
14
+ url.protocol.class.should == String
15
+ url.protocol.to_s.should == uri_specification[:protocol]
16
+ url.scheme.class.should == String # Alias
17
+ url.scheme.to_s.should == uri_specification[:protocol] # Alias
18
+ end
14
19
  # ======================================================================= #
15
20
  # = Authority = #
16
21
  # ======================================================================= #
17
22
 
18
- url.authority.class.should == UniformResourceIdentifier::Authority
19
- url.authority.to_s.should == uri_specification[:authority]
20
-
21
- url.authority.user_info.class.should == UniformResourceIdentifier::UserInfo
22
- url.authority.user_info.to_s.should == uri_specification[:user_info]
23
- url.user_info.class.should == UniformResourceIdentifier::UserInfo # Delegate
24
- url.user_info.to_s.should == uri_specification[:user_info] # Delegate
25
-
26
- url.authority.user_info.username.class.should == String
27
- url.authority.user_info.username.to_s.should == uri_specification[:username]
28
- url.user_info.username.class.should == String # Delegate
29
- url.user_info.username.to_s.should == uri_specification[:username] # Delegate
30
- url.username.class.should == String # Delegate
31
- url.username.to_s.should == uri_specification[:username] # Delegate
32
-
33
- url.authority.user_info.password.class.should == String
34
- url.authority.user_info.password.to_s.should == uri_specification[:password]
35
- url.user_info.password.class.should == String # Delegate
36
- url.user_info.password.to_s.should == uri_specification[:password] # Delegate
37
- url.password.class.should == String # Delegate
38
- url.password.to_s.should == uri_specification[:password] # Delegate
39
-
40
- url.authority.host.class.should == UniformResourceIdentifier::Host
41
- url.authority.host.to_s.should == uri_specification[:host]
42
- url.host.class.should == UniformResourceIdentifier::Host # Delegate
43
- url.host.to_s.should == uri_specification[:host] # Delegate
44
-
45
- url.authority.host.subdomain.class.should == String
46
- url.authority.host.subdomain.to_s.should == uri_specification[:subdomain]
47
- url.host.subdomain.class.should == String # Delegate
48
- url.host.subdomain.to_s.should == uri_specification[:subdomain] # Delegate
49
- url.subdomain.class.should == String # Delegate
50
- url.subdomain.to_s.should == uri_specification[:subdomain] # Delegate
51
-
52
- url.authority.host.domain.class.should == UniformResourceIdentifier::Domain
53
- url.authority.host.domain.to_s.should == uri_specification[:domain]
54
- url.host.domain.class.should == UniformResourceIdentifier::Domain # Delegate
55
- url.host.domain.to_s.should == uri_specification[:domain] # Delegate
56
- url.domain.class.should == UniformResourceIdentifier::Domain # Delegate
57
- url.domain.to_s.should == uri_specification[:domain] # Delegate
58
-
59
- url.authority.host.domain.sld.class.should == String
60
- url.authority.host.sld.to_s.should == uri_specification[:sld]
61
- url.host.sld.class.should == String # Delegate
62
- url.host.sld.to_s.should == uri_specification[:sld] # Delegate
63
- url.sld.class.should == String # Delegate
64
- url.sld.to_s.should == uri_specification[:sld] # Delegate
65
-
66
- url.authority.host.domain.tld.class.should == String
67
- url.authority.host.tld.to_s.should == uri_specification[:tld]
68
- url.host.tld.class.should == String # Delegate
69
- url.host.tld.to_s.should == uri_specification[:tld] # Delegate
70
- url.tld.class.should == String # Delegate
71
- url.tld.to_s.should == uri_specification[:tld] # Delegate
72
-
73
- url.authority.port.class.should == Fixnum
74
- url.authority.port.to_s.should == uri_specification[:port]
75
- url.port.class.should == Fixnum # Delegate
76
- url.port.to_s.should == uri_specification[:port] # Delegate
23
+ unless uri_specification.has_key?(:authority)
24
+ url.authority.class.should == UniformResourceIdentifier::Authority
25
+ url.authority.to_s.should == uri_specification[:authority]
26
+ end
27
+
28
+ unless uri_specification.has_key?(:user_info)
29
+ url.authority.user_info.class.should == UniformResourceIdentifier::UserInfo
30
+ url.authority.user_info.to_s.should == uri_specification[:user_info]
31
+ url.user_info.class.should == UniformResourceIdentifier::UserInfo # Delegate
32
+ url.user_info.to_s.should == uri_specification[:user_info] # Delegate
33
+ end
34
+
35
+ unless uri_specification.has_key?(:username)
36
+ url.authority.user_info.username.class.should == String
37
+ url.authority.user_info.username.to_s.should == uri_specification[:username]
38
+ url.user_info.username.class.should == String # Delegate
39
+ url.user_info.username.to_s.should == uri_specification[:username] # Delegate
40
+ url.username.class.should == String # Delegate
41
+ url.username.to_s.should == uri_specification[:username] # Delegate
42
+ end
43
+
44
+ unless uri_specification.has_key?(:password)
45
+ url.authority.user_info.password.class.should == String
46
+ url.authority.user_info.password.to_s.should == uri_specification[:password]
47
+ url.user_info.password.class.should == String # Delegate
48
+ url.user_info.password.to_s.should == uri_specification[:password] # Delegate
49
+ url.password.class.should == String # Delegate
50
+ url.password.to_s.should == uri_specification[:password] # Delegate
51
+ end
52
+
53
+ unless uri_specification.has_key?(:host)
54
+ url.authority.host.class.should == UniformResourceIdentifier::Host
55
+ url.authority.host.to_s.should == uri_specification[:host]
56
+ url.host.class.should == UniformResourceIdentifier::Host # Delegate
57
+ url.host.to_s.should == uri_specification[:host] # Delegate
58
+ end
59
+
60
+ unless uri_specification.has_key?(:subdomain)
61
+ url.authority.host.subdomain.class.should == String
62
+ url.authority.host.subdomain.to_s.should == uri_specification[:subdomain]
63
+ url.host.subdomain.class.should == String # Delegate
64
+ url.host.subdomain.to_s.should == uri_specification[:subdomain] # Delegate
65
+ url.subdomain.class.should == String # Delegate
66
+ url.subdomain.to_s.should == uri_specification[:subdomain] # Delegate
67
+ end
68
+
69
+ unless uri_specification.has_key?(:domain)
70
+ url.authority.host.domain.class.should == UniformResourceIdentifier::Domain
71
+ url.authority.host.domain.to_s.should == uri_specification[:domain]
72
+ url.host.domain.class.should == UniformResourceIdentifier::Domain # Delegate
73
+ url.host.domain.to_s.should == uri_specification[:domain] # Delegate
74
+ url.domain.class.should == UniformResourceIdentifier::Domain # Delegate
75
+ url.domain.to_s.should == uri_specification[:domain] # Delegate
76
+ end
77
+
78
+ unless uri_specification.has_key?(:sld)
79
+ url.authority.host.domain.sld.class.should == String
80
+ url.authority.host.sld.to_s.should == uri_specification[:sld]
81
+ url.host.sld.class.should == String # Delegate
82
+ url.host.sld.to_s.should == uri_specification[:sld] # Delegate
83
+ url.sld.class.should == String # Delegate
84
+ url.sld.to_s.should == uri_specification[:sld] # Delegate
85
+ end
86
+
87
+ unless uri_specification.has_key?(:tld)
88
+ url.authority.host.domain.tld.class.should == String
89
+ url.authority.host.tld.to_s.should == uri_specification[:tld]
90
+ url.host.tld.class.should == String # Delegate
91
+ url.host.tld.to_s.should == uri_specification[:tld] # Delegate
92
+ url.tld.class.should == String # Delegate
93
+ url.tld.to_s.should == uri_specification[:tld] # Delegate
94
+ end
95
+
96
+ unless uri_specification.has_key?(:port)
97
+ url.authority.port.class.should == Fixnum
98
+ url.authority.port.to_s.should == uri_specification[:port]
99
+ url.port.class.should == Fixnum # Delegate
100
+ url.port.to_s.should == uri_specification[:port] # Delegate
101
+ end
77
102
 
78
103
  # ======================================================================= #
79
104
  # = Relative = #
80
105
  # ======================================================================= #
81
106
 
82
- url.relative.class.should == UniformResourceIdentifier::Relative
83
- url.relative.to_s.should == uri_specification[:relative]
84
-
85
- url.relative.path.class.should == UniformResourceIdentifier::Path
86
- url.relative.path.to_s.should == uri_specification[:path]
87
- url.path.class.should == UniformResourceIdentifier::Path # Delegate
88
- url.path.to_s.should == uri_specification[:path] # Delegate
89
-
90
- url.relative.path.directory.class.should == String
91
- url.relative.path.directory.to_s.should == uri_specification[:directory]
92
- url.relative.directory.class.should == String # Delegate
93
- url.relative.directory.to_s.should == uri_specification[:directory] # Delegate
94
- url.directory.class.should == String # Delegate
95
- url.directory.to_s.should == uri_specification[:directory] # Delegate
96
-
97
- url.relative.path.file.class.should == String
98
- url.relative.path.file.to_s.should == uri_specification[:file]
99
- url.relative.file.class.should == String # Delegate
100
- url.relative.file.to_s.should == uri_specification[:file] # Delegate
101
- url.file.class.should == String # Delegate
102
- url.file.to_s.should == uri_specification[:file] # Delegate
103
-
104
- url.relative.query.class.should == UniformResourceIdentifier::Query
105
- url.relative.query.to_s.should == uri_specification[:query]
106
- url.query.class.should == UniformResourceIdentifier::Query # Delegate
107
- url.query.to_s.should == uri_specification[:query] # Delegate
108
-
109
- url.relative.anchor.class.should == String
110
- url.relative.anchor.to_s.should == uri_specification[:anchor]
111
- url.anchor.class.should == String # Delegate
112
- url.anchor.to_s.should == uri_specification[:anchor] # Delegate
107
+ unless uri_specification.has_key?(:relative)
108
+ url.relative.class.should == UniformResourceIdentifier::Relative
109
+ url.relative.to_s.should == uri_specification[:relative]
110
+ end
111
+
112
+ unless uri_specification.has_key?(:path)
113
+ url.relative.path.class.should == UniformResourceIdentifier::Path
114
+ url.relative.path.to_s.should == uri_specification[:path]
115
+ url.path.class.should == UniformResourceIdentifier::Path # Delegate
116
+ url.path.to_s.should == uri_specification[:path] # Delegate
117
+ end
118
+
119
+ unless uri_specification.has_key?(:directory)
120
+ url.relative.path.directory.class.should == String
121
+ url.relative.path.directory.to_s.should == uri_specification[:directory]
122
+ url.relative.directory.class.should == String # Delegate
123
+ url.relative.directory.to_s.should == uri_specification[:directory] # Delegate
124
+ url.directory.class.should == String # Delegate
125
+ url.directory.to_s.should == uri_specification[:directory] # Delegate
126
+ end
127
+
128
+ unless uri_specification.has_key?(:file)
129
+ url.relative.path.file.class.should == String
130
+ url.relative.path.file.to_s.should == uri_specification[:file]
131
+ url.relative.file.class.should == String # Delegate
132
+ url.relative.file.to_s.should == uri_specification[:file] # Delegate
133
+ url.file.class.should == String # Delegate
134
+ url.file.to_s.should == uri_specification[:file] # Delegate
135
+ end
136
+
137
+ unless uri_specification.has_key?(:query)
138
+ url.relative.query.class.should == UniformResourceIdentifier::Query
139
+ url.relative.query.to_s.should == uri_specification[:query]
140
+ url.query.class.should == UniformResourceIdentifier::Query # Delegate
141
+ url.query.to_s.should == uri_specification[:query] # Delegate
142
+ end
143
+
144
+ unless uri_specification.has_key?(:anchor)
145
+ url.relative.anchor.class.should == String
146
+ url.relative.anchor.to_s.should == uri_specification[:anchor]
147
+ url.anchor.class.should == String # Delegate
148
+ url.anchor.to_s.should == uri_specification[:anchor] # Delegate
149
+ end
113
150
  end
114
151
  end
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.10
4
+ version: 0.1.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-10-31 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: public_suffix_service
16
- requirement: &70170799873400 !ruby/object:Gem::Requirement
16
+ requirement: &70282682928420 !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: *70170799873400
24
+ version_requirements: *70282682928420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70170799872920 !ruby/object:Gem::Requirement
27
+ requirement: &70282682927940 !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: *70170799872920
35
+ version_requirements: *70282682927940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: addressable
38
- requirement: &70170799872460 !ruby/object:Gem::Requirement
38
+ requirement: &70282682927480 !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: *70170799872460
46
+ version_requirements: *70282682927480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70170799872000 !ruby/object:Gem::Requirement
49
+ requirement: &70282682927020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70170799872000
57
+ version_requirements: *70282682927020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &70170799871540 !ruby/object:Gem::Requirement
60
+ requirement: &70282668884040 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.6.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70170799871540
68
+ version_requirements: *70282668884040
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fuubar
71
- requirement: &70170799871080 !ruby/object:Gem::Requirement
71
+ requirement: &70282681551760 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.0.6
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70170799871080
79
+ version_requirements: *70282681551760
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: watchr
82
- requirement: &70170798484880 !ruby/object:Gem::Requirement
82
+ requirement: &70282681793760 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 0.7.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70170798484880
90
+ version_requirements: *70282681793760
91
91
  description: ! '`uniform_resource_identifier` splits URIs according to RFC 3986 using
92
92
  regexp, attempts to check the public suffix using `public_suffix_service`, and serializes
93
93
  the query string using `active_support` and `addressable`'