addressable 2.1.2 → 2.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/CHANGELOG +65 -61
- data/LICENSE +1 -1
- data/README +12 -2
- data/Rakefile +0 -32
- data/lib/addressable/template.rb +1 -1
- data/lib/addressable/uri.rb +186 -89
- data/lib/addressable/version.rb +3 -3
- data/spec/addressable/uri_spec.rb +204 -11
- data/tasks/gem.rake +16 -0
- data/tasks/rdoc.rake +0 -3
- data/tasks/rubyforge.rake +1 -1
- data/tasks/yard.rake +26 -0
- metadata +64 -17
data/lib/addressable/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding:utf-8
|
2
2
|
#--
|
3
|
-
# Addressable, Copyright (c) 2006-
|
3
|
+
# Addressable, Copyright (c) 2006-2010 Bob Aman
|
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
|
@@ -27,8 +27,8 @@ if !defined?(Addressable::VERSION)
|
|
27
27
|
module Addressable
|
28
28
|
module VERSION #:nodoc:
|
29
29
|
MAJOR = 2
|
30
|
-
MINOR =
|
31
|
-
TINY =
|
30
|
+
MINOR = 2
|
31
|
+
TINY = 0
|
32
32
|
|
33
33
|
STRING = [MAJOR, MINOR, TINY].join('.')
|
34
34
|
end
|
@@ -163,6 +163,10 @@ describe Addressable::URI, "when created from nil components" do
|
|
163
163
|
@uri = Addressable::URI.new
|
164
164
|
end
|
165
165
|
|
166
|
+
it "should have a nil site value" do
|
167
|
+
@uri.site.should == nil
|
168
|
+
end
|
169
|
+
|
166
170
|
it "should have an empty path" do
|
167
171
|
@uri.path.should == ""
|
168
172
|
end
|
@@ -171,9 +175,16 @@ describe Addressable::URI, "when created from nil components" do
|
|
171
175
|
@uri.to_s.should == ""
|
172
176
|
end
|
173
177
|
|
174
|
-
it "should
|
175
|
-
|
176
|
-
|
178
|
+
it "should raise an error if the scheme is set to whitespace" do
|
179
|
+
(lambda do
|
180
|
+
@uri.scheme = "\t \n"
|
181
|
+
end).should raise_error(Addressable::URI::InvalidURIError)
|
182
|
+
end
|
183
|
+
|
184
|
+
it "should raise an error if the scheme is set to all digits" do
|
185
|
+
(lambda do
|
186
|
+
@uri.scheme = "123"
|
187
|
+
end).should raise_error(Addressable::URI::InvalidURIError)
|
177
188
|
end
|
178
189
|
|
179
190
|
it "should raise an error if set into an invalid state" do
|
@@ -210,6 +221,10 @@ describe Addressable::URI, "when created from string components" do
|
|
210
221
|
)
|
211
222
|
end
|
212
223
|
|
224
|
+
it "should have a site value of 'http://example.com'" do
|
225
|
+
@uri.site.should == "http://example.com"
|
226
|
+
end
|
227
|
+
|
213
228
|
it "should be equal to the equivalent parsed URI" do
|
214
229
|
@uri.should == Addressable::URI.parse("http://example.com")
|
215
230
|
end
|
@@ -252,6 +267,10 @@ describe Addressable::URI, "when created with an authority and no port" do
|
|
252
267
|
@uri.port.should == nil
|
253
268
|
@uri.inferred_port.should == nil
|
254
269
|
end
|
270
|
+
|
271
|
+
it "should have a site value of '//user@example.com'" do
|
272
|
+
@uri.site.should == "//user@example.com"
|
273
|
+
end
|
255
274
|
end
|
256
275
|
|
257
276
|
describe Addressable::URI, "when created with both a userinfo and a user" do
|
@@ -264,19 +283,35 @@ end
|
|
264
283
|
|
265
284
|
describe Addressable::URI, "when created with a path that hasn't been " +
|
266
285
|
"prefixed with a '/' but a host specified" do
|
267
|
-
|
268
|
-
Addressable::URI.new(
|
286
|
+
before do
|
287
|
+
@uri = Addressable::URI.new(
|
269
288
|
:scheme => "http", :host => "example.com", :path => "path"
|
270
|
-
)
|
289
|
+
)
|
290
|
+
end
|
291
|
+
|
292
|
+
it "should prefix a '/' to the path" do
|
293
|
+
@uri.should == Addressable::URI.parse("http://example.com/path")
|
294
|
+
end
|
295
|
+
|
296
|
+
it "should have a site value of 'http://example.com'" do
|
297
|
+
@uri.site.should == "http://example.com"
|
271
298
|
end
|
272
299
|
end
|
273
300
|
|
274
301
|
describe Addressable::URI, "when created with a path that hasn't been " +
|
275
302
|
"prefixed with a '/' but no host specified" do
|
276
|
-
|
277
|
-
Addressable::URI.new(
|
303
|
+
before do
|
304
|
+
@uri = Addressable::URI.new(
|
278
305
|
:scheme => "http", :path => "path"
|
279
|
-
)
|
306
|
+
)
|
307
|
+
end
|
308
|
+
|
309
|
+
it "should not prefix a '/' to the path" do
|
310
|
+
@uri.should == Addressable::URI.parse("http:path")
|
311
|
+
end
|
312
|
+
|
313
|
+
it "should have a site value of 'http:'" do
|
314
|
+
@uri.site.should == "http:"
|
280
315
|
end
|
281
316
|
end
|
282
317
|
|
@@ -733,6 +768,27 @@ describe Addressable::URI, "when parsed from " +
|
|
733
768
|
@uri.join!(@uri).to_s.should == "http://example.com"
|
734
769
|
end
|
735
770
|
|
771
|
+
it "should be equivalent to http://EXAMPLE.com" do
|
772
|
+
@uri.should == Addressable::URI.parse("http://EXAMPLE.com")
|
773
|
+
end
|
774
|
+
|
775
|
+
it "should be equivalent to http://EXAMPLE.com:80/" do
|
776
|
+
@uri.should == Addressable::URI.parse("http://EXAMPLE.com:80/")
|
777
|
+
end
|
778
|
+
|
779
|
+
it "should have the same hash as http://example.com" do
|
780
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com").hash
|
781
|
+
end
|
782
|
+
|
783
|
+
it "should have the same hash as http://EXAMPLE.com after assignment" do
|
784
|
+
@uri.host = "EXAMPLE.com"
|
785
|
+
@uri.hash.should == Addressable::URI.parse("http://EXAMPLE.com").hash
|
786
|
+
end
|
787
|
+
|
788
|
+
it "should have a different hash from http://EXAMPLE.com" do
|
789
|
+
@uri.hash.should_not == Addressable::URI.parse("http://EXAMPLE.com").hash
|
790
|
+
end
|
791
|
+
|
736
792
|
# Section 6.2.3 of RFC 3986
|
737
793
|
it "should be equivalent to http://example.com/" do
|
738
794
|
@uri.should == Addressable::URI.parse("http://example.com/")
|
@@ -897,6 +953,12 @@ describe Addressable::URI, "when parsed from " +
|
|
897
953
|
@uri.query.should == "x=y"
|
898
954
|
end
|
899
955
|
|
956
|
+
it "should raise an error if the site value is set to something bogus" do
|
957
|
+
(lambda do
|
958
|
+
@uri.site = 42
|
959
|
+
end).should raise_error(TypeError)
|
960
|
+
end
|
961
|
+
|
900
962
|
it "should raise an error if the request URI is set to something bogus" do
|
901
963
|
(lambda do
|
902
964
|
@uri.request_uri = 42
|
@@ -994,6 +1056,42 @@ describe Addressable::URI, "when parsed from " +
|
|
994
1056
|
it "should have the same hash as an equal URI" do
|
995
1057
|
@uri.hash.should == Addressable::URI.parse("http://example.com/").hash
|
996
1058
|
end
|
1059
|
+
|
1060
|
+
it "should be equivalent to http://EXAMPLE.com" do
|
1061
|
+
@uri.should == Addressable::URI.parse("http://EXAMPLE.com")
|
1062
|
+
end
|
1063
|
+
|
1064
|
+
it "should be equivalent to http://EXAMPLE.com:80/" do
|
1065
|
+
@uri.should == Addressable::URI.parse("http://EXAMPLE.com:80/")
|
1066
|
+
end
|
1067
|
+
|
1068
|
+
it "should have the same hash as http://example.com/" do
|
1069
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com/").hash
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
it "should have the same hash as http://example.com after assignment" do
|
1073
|
+
@uri.path = ""
|
1074
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com").hash
|
1075
|
+
end
|
1076
|
+
|
1077
|
+
it "should have the same hash as http://example.com/? after assignment" do
|
1078
|
+
@uri.query = ""
|
1079
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com/?").hash
|
1080
|
+
end
|
1081
|
+
|
1082
|
+
it "should have the same hash as http://example.com/? after assignment" do
|
1083
|
+
@uri.query_values = {}
|
1084
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com/?").hash
|
1085
|
+
end
|
1086
|
+
|
1087
|
+
it "should have the same hash as http://example.com/# after assignment" do
|
1088
|
+
@uri.fragment = ""
|
1089
|
+
@uri.hash.should == Addressable::URI.parse("http://example.com/#").hash
|
1090
|
+
end
|
1091
|
+
|
1092
|
+
it "should have a different hash from http://example.com" do
|
1093
|
+
@uri.hash.should_not == Addressable::URI.parse("http://example.com").hash
|
1094
|
+
end
|
997
1095
|
end
|
998
1096
|
|
999
1097
|
describe Addressable::URI, "when parsed from " +
|
@@ -1953,10 +2051,10 @@ describe Addressable::URI, "when parsed from " +
|
|
1953
2051
|
end
|
1954
2052
|
|
1955
2053
|
describe Addressable::URI, "when parsed from " +
|
1956
|
-
"'ssh+svn://developername@
|
2054
|
+
"'ssh+svn://developername@RUBYFORGE.ORG/var/svn/project'" do
|
1957
2055
|
before do
|
1958
2056
|
@uri = Addressable::URI.parse(
|
1959
|
-
"ssh+svn://developername@
|
2057
|
+
"ssh+svn://developername@RUBYFORGE.ORG/var/svn/project"
|
1960
2058
|
)
|
1961
2059
|
end
|
1962
2060
|
|
@@ -1968,6 +2066,10 @@ describe Addressable::URI, "when parsed from " +
|
|
1968
2066
|
@uri.normalized_scheme.should == "svn+ssh"
|
1969
2067
|
end
|
1970
2068
|
|
2069
|
+
it "should have a normalized site of 'svn+ssh'" do
|
2070
|
+
@uri.normalized_site.should == "svn+ssh://developername@rubyforge.org"
|
2071
|
+
end
|
2072
|
+
|
1971
2073
|
it "should not be considered to be ip-based" do
|
1972
2074
|
@uri.should_not be_ip_based
|
1973
2075
|
end
|
@@ -2195,6 +2297,22 @@ describe Addressable::URI, "when parsed from " +
|
|
2195
2297
|
"bogus%21://user:pass@example.com/path/to/resource?query=x#fragment"
|
2196
2298
|
end
|
2197
2299
|
|
2300
|
+
it "should have the correct site segment after assignment" do
|
2301
|
+
@uri.site = "https://newuser:newpass@example.com:443"
|
2302
|
+
@uri.scheme.should == "https"
|
2303
|
+
@uri.authority.should == "newuser:newpass@example.com:443"
|
2304
|
+
@uri.user.should == "newuser"
|
2305
|
+
@uri.password.should == "newpass"
|
2306
|
+
@uri.userinfo.should == "newuser:newpass"
|
2307
|
+
@uri.normalized_userinfo.should == "newuser:newpass"
|
2308
|
+
@uri.host.should == "example.com"
|
2309
|
+
@uri.port.should == 443
|
2310
|
+
@uri.inferred_port.should == 443
|
2311
|
+
@uri.to_s.should ==
|
2312
|
+
"https://newuser:newpass@example.com:443" +
|
2313
|
+
"/path/to/resource?query=x#fragment"
|
2314
|
+
end
|
2315
|
+
|
2198
2316
|
it "should have the correct authority segment after assignment" do
|
2199
2317
|
@uri.authority = "newuser:newpass@example.com:80"
|
2200
2318
|
@uri.authority.should == "newuser:newpass@example.com:80"
|
@@ -2255,6 +2373,20 @@ describe Addressable::URI, "when parsed from " +
|
|
2255
2373
|
"http://user:pass@example.com/newpath/to/resource?query=x#fragment"
|
2256
2374
|
end
|
2257
2375
|
|
2376
|
+
it "should have the correct scheme and authority after nil assignment" do
|
2377
|
+
@uri.site = nil
|
2378
|
+
@uri.scheme.should == nil
|
2379
|
+
@uri.authority.should == nil
|
2380
|
+
@uri.to_s.should == "/path/to/resource?query=x#fragment"
|
2381
|
+
end
|
2382
|
+
|
2383
|
+
it "should have the correct scheme and authority after assignment" do
|
2384
|
+
@uri.site = "file://"
|
2385
|
+
@uri.scheme.should == "file"
|
2386
|
+
@uri.authority.should == ""
|
2387
|
+
@uri.to_s.should == "file:///path/to/resource?query=x#fragment"
|
2388
|
+
end
|
2389
|
+
|
2258
2390
|
it "should have the correct path after nil assignment" do
|
2259
2391
|
@uri.path = nil
|
2260
2392
|
@uri.path.should == ""
|
@@ -2343,12 +2475,14 @@ describe Addressable::URI, "when parsed from " +
|
|
2343
2475
|
it "should have the correct values after a merge" do
|
2344
2476
|
@uri.merge(:authority => "foo:bar@baz:42").to_s.should ==
|
2345
2477
|
"http://foo:bar@baz:42/path/to/resource?query=x#fragment"
|
2478
|
+
# Ensure the operation was not destructive
|
2346
2479
|
@uri.to_s.should ==
|
2347
2480
|
"http://user:pass@example.com/path/to/resource?query=x#fragment"
|
2348
2481
|
end
|
2349
2482
|
|
2350
2483
|
it "should have the correct values after a destructive merge" do
|
2351
2484
|
@uri.merge!(:authority => "foo:bar@baz:42")
|
2485
|
+
# Ensure the operation was destructive
|
2352
2486
|
@uri.to_s.should ==
|
2353
2487
|
"http://foo:bar@baz:42/path/to/resource?query=x#fragment"
|
2354
2488
|
end
|
@@ -2359,6 +2493,12 @@ describe Addressable::URI, "when parsed from " +
|
|
2359
2493
|
end).should raise_error(Addressable::URI::InvalidURIError)
|
2360
2494
|
end
|
2361
2495
|
|
2496
|
+
it "should fail to merge with bogus values" do
|
2497
|
+
(lambda do
|
2498
|
+
@uri.merge(:authority => "bar@baz:bogus")
|
2499
|
+
end).should raise_error(Addressable::URI::InvalidURIError)
|
2500
|
+
end
|
2501
|
+
|
2362
2502
|
it "should fail to merge with bogus parameters" do
|
2363
2503
|
(lambda do
|
2364
2504
|
@uri.merge(42)
|
@@ -2388,6 +2528,36 @@ describe Addressable::URI, "when parsed from " +
|
|
2388
2528
|
end
|
2389
2529
|
end
|
2390
2530
|
|
2531
|
+
describe Addressable::URI, "when parsed from " +
|
2532
|
+
"'http://example.com/?q&&x=b'" do
|
2533
|
+
before do
|
2534
|
+
@uri = Addressable::URI.parse("http://example.com/?q&&x=b")
|
2535
|
+
end
|
2536
|
+
|
2537
|
+
it "should have a query of 'q&&x=b'" do
|
2538
|
+
@uri.query.should == "q&&x=b"
|
2539
|
+
end
|
2540
|
+
|
2541
|
+
it "should have query_values of {'q' => true, 'x' => 'b'}" do
|
2542
|
+
@uri.query_values.should == {'q' => true, 'x' => 'b'}
|
2543
|
+
end
|
2544
|
+
end
|
2545
|
+
|
2546
|
+
describe Addressable::URI, "when parsed from " +
|
2547
|
+
"'http://example.com/?q='" do
|
2548
|
+
before do
|
2549
|
+
@uri = Addressable::URI.parse("http://example.com/?q=")
|
2550
|
+
end
|
2551
|
+
|
2552
|
+
it "should have a query of 'q='" do
|
2553
|
+
@uri.query.should == "q="
|
2554
|
+
end
|
2555
|
+
|
2556
|
+
it "should have query_values of {'q' => ''}" do
|
2557
|
+
@uri.query_values.should == {'q' => ''}
|
2558
|
+
end
|
2559
|
+
end
|
2560
|
+
|
2391
2561
|
describe Addressable::URI, "when parsed from " +
|
2392
2562
|
"'http://user@example.com'" do
|
2393
2563
|
before do
|
@@ -2661,6 +2831,14 @@ describe Addressable::URI, "when parsed from " +
|
|
2661
2831
|
@uri.host.should == nil
|
2662
2832
|
end
|
2663
2833
|
|
2834
|
+
it "should have a site of nil" do
|
2835
|
+
@uri.site.should == nil
|
2836
|
+
end
|
2837
|
+
|
2838
|
+
it "should have a normalized_site of nil" do
|
2839
|
+
@uri.normalized_site.should == nil
|
2840
|
+
end
|
2841
|
+
|
2664
2842
|
it "should have a path of ''" do
|
2665
2843
|
@uri.path.should == ""
|
2666
2844
|
end
|
@@ -3864,6 +4042,21 @@ describe Addressable::URI, "when assigning query values" do
|
|
3864
4042
|
}
|
3865
4043
|
@uri.query.should == "a=a&b[c]&b[d]=d"
|
3866
4044
|
end
|
4045
|
+
|
4046
|
+
it "should correctly assign {}" do
|
4047
|
+
@uri.query_values = {}
|
4048
|
+
@uri.query.should == ''
|
4049
|
+
end
|
4050
|
+
|
4051
|
+
it "should correctly assign nil" do
|
4052
|
+
@uri.query_values = nil
|
4053
|
+
@uri.query.should == nil
|
4054
|
+
end
|
4055
|
+
|
4056
|
+
it "should correctly sort {'ab' => 'c', :ab => 'a', :a => 'x'}" do
|
4057
|
+
@uri.query_values = {'ab' => 'c', :ab => 'a', :a => 'x'}
|
4058
|
+
@uri.query.should == "a=x&ab=a&ab=c"
|
4059
|
+
end
|
3867
4060
|
end
|
3868
4061
|
|
3869
4062
|
describe Addressable::URI, "when assigning path values" do
|
data/tasks/gem.rake
CHANGED
@@ -21,6 +21,7 @@ namespace :gem do
|
|
21
21
|
s.add_development_dependency("rake", ">= 0.7.3")
|
22
22
|
s.add_development_dependency("rspec", ">= 1.0.8")
|
23
23
|
s.add_development_dependency("launchy", ">= 0.3.2")
|
24
|
+
s.add_development_dependency("diff-lcs", ">= 1.1.2")
|
24
25
|
|
25
26
|
s.require_path = "lib"
|
26
27
|
|
@@ -36,6 +37,21 @@ namespace :gem do
|
|
36
37
|
p.need_zip = true
|
37
38
|
end
|
38
39
|
|
40
|
+
desc "Generates .gemspec file"
|
41
|
+
task :gemspec do
|
42
|
+
spec_string = GEM_SPEC.to_ruby
|
43
|
+
|
44
|
+
begin
|
45
|
+
Thread.new { eval("$SAFE = 3\n#{spec_string}", binding) }.join
|
46
|
+
rescue
|
47
|
+
abort "unsafe gemspec: #{$!}"
|
48
|
+
else
|
49
|
+
File.open("#{GEM_SPEC.name}.gemspec", 'w') do |file|
|
50
|
+
file.write spec_string
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
39
55
|
desc "Show information about the gem"
|
40
56
|
task :debug do
|
41
57
|
puts GEM_SPEC.to_ruby
|
data/tasks/rdoc.rake
CHANGED
data/tasks/rubyforge.rake
CHANGED
data/tasks/yard.rake
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require "rake"
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "yard"
|
5
|
+
require "yard/rake/yardoc_task"
|
6
|
+
|
7
|
+
namespace :doc do
|
8
|
+
desc "Generate Yardoc documentation"
|
9
|
+
YARD::Rake::YardocTask.new do |yardoc|
|
10
|
+
yardoc.name = "yard"
|
11
|
+
yardoc.options = ["--verbose"]
|
12
|
+
yardoc.files = [
|
13
|
+
"lib/**/*.rb", "ext/**/*.c", "README", "CHANGELOG", "LICENSE"
|
14
|
+
]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
task "clobber" => ["doc:clobber_yard"]
|
19
|
+
|
20
|
+
desc "Alias to doc:yard"
|
21
|
+
task "doc" => "doc:yard"
|
22
|
+
rescue LoadError
|
23
|
+
# If yard isn't available, it's not the end of the world
|
24
|
+
desc "Alias to doc:rdoc"
|
25
|
+
task "doc" => "doc:rdoc"
|
26
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: addressable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 7
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 2.2.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Bob Aman
|
@@ -9,39 +15,73 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-08-09 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: rake
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 5
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 7
|
33
|
+
- 3
|
23
34
|
version: 0.7.3
|
24
|
-
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id001
|
25
37
|
- !ruby/object:Gem::Dependency
|
26
38
|
name: rspec
|
27
|
-
|
28
|
-
|
29
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
30
42
|
requirements:
|
31
43
|
- - ">="
|
32
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 7
|
46
|
+
segments:
|
47
|
+
- 1
|
48
|
+
- 0
|
49
|
+
- 8
|
33
50
|
version: 1.0.8
|
34
|
-
|
51
|
+
type: :development
|
52
|
+
version_requirements: *id002
|
35
53
|
- !ruby/object:Gem::Dependency
|
36
54
|
name: launchy
|
37
|
-
|
38
|
-
|
39
|
-
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
40
58
|
requirements:
|
41
59
|
- - ">="
|
42
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 23
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 3
|
65
|
+
- 2
|
43
66
|
version: 0.3.2
|
44
|
-
|
67
|
+
type: :development
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: diff-lcs
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 23
|
78
|
+
segments:
|
79
|
+
- 1
|
80
|
+
- 1
|
81
|
+
- 2
|
82
|
+
version: 1.1.2
|
83
|
+
type: :development
|
84
|
+
version_requirements: *id004
|
45
85
|
description: |
|
46
86
|
Addressable is a replacement for the URI implementation that is part of
|
47
87
|
Ruby's standard library. It more closely conforms to the relevant RFCs and
|
@@ -70,6 +110,7 @@ files:
|
|
70
110
|
- tasks/rdoc.rake
|
71
111
|
- tasks/rubyforge.rake
|
72
112
|
- tasks/spec.rake
|
113
|
+
- tasks/yard.rake
|
73
114
|
- website/index.html
|
74
115
|
- CHANGELOG
|
75
116
|
- LICENSE
|
@@ -86,21 +127,27 @@ rdoc_options:
|
|
86
127
|
require_paths:
|
87
128
|
- lib
|
88
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
89
131
|
requirements:
|
90
132
|
- - ">="
|
91
133
|
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
135
|
+
segments:
|
136
|
+
- 0
|
92
137
|
version: "0"
|
93
|
-
version:
|
94
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
95
140
|
requirements:
|
96
141
|
- - ">="
|
97
142
|
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
98
146
|
version: "0"
|
99
|
-
version:
|
100
147
|
requirements: []
|
101
148
|
|
102
149
|
rubyforge_project: addressable
|
103
|
-
rubygems_version: 1.3.
|
150
|
+
rubygems_version: 1.3.7
|
104
151
|
signing_key:
|
105
152
|
specification_version: 3
|
106
153
|
summary: URI Implementation
|