uri-component 0.0.1 → 0.0.2

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.
@@ -0,0 +1,45 @@
1
+ require "uri/component/userinfo"
2
+ require "uri/component/path"
3
+ require "uri/component/query"
4
+
5
+ module URI
6
+ ## Handle URI components as an object
7
+ module Component
8
+ ## Add the following instance methods to the class +klass+:
9
+ ##
10
+ ## userinfo_component::
11
+ ## Returns the userinfo component of the URI as URI::Component::UserInfo
12
+ ## object.
13
+ ## path_component::
14
+ ## Returns the path component of the URI as URI::Component::Path object.
15
+ ## query_component::
16
+ ## Returns the query component of the URI as URI::Component::Query object.
17
+ ##
18
+ ## Usage:
19
+ ##
20
+ ## require "uri"
21
+ ## require "uri/component"
22
+ ##
23
+ ## URI::Component.mixin(URI::HTTP)
24
+ ##
25
+ ## u = URI.parse("http://bob:pass@example.jp/path?foo=12&bar=ab");
26
+ ## i = u.userinfo_component #=> URI::Component::Userinfo.new("bob:pass")
27
+ ## p = u.path_component #=> URI::Component::Path.new("/path")
28
+ ## q = u.query_component #=> URI::Component::Query.new("foo=12&bar=ab")
29
+ ##
30
+ ## i.password = nil
31
+ ## p i.to_s #=> "bob"
32
+ ## p.nodes << "file"
33
+ ## p p.to_s #=> "/path/file"
34
+ ## q.params["baz"] = ["x y z"]
35
+ ## p q.to_s #=> "foo=12&bar=ab&baz=x+y+z"
36
+ ## p u.to_s #=> "http://bob@example.jp/path/file?foo=12&bar=ab&baz=x+y+z"
37
+ ##
38
+ def self.mixin(klass)
39
+ URI::Component::UserInfo.mixin(klass) if klass.component.include?(:userinfo)
40
+ URI::Component::Path.mixin(klass) if klass.component.include?(:path)
41
+ URI::Component::Query.mixin(klass) if klass.component.include?(:query)
42
+ end
43
+ end
44
+ end
45
+
@@ -1,6 +1,6 @@
1
1
  module URI
2
2
  module Component
3
- VERSION = "0.0.1" ## :nodoc:
3
+ VERSION = "0.0.2" ## :nodoc:
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uri-component
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -20,6 +20,7 @@ extra_rdoc_files: []
20
20
  files:
21
21
  - Gemfile
22
22
  - Rakefile
23
+ - lib/uri/component.rb
23
24
  - lib/uri/component/path.rb
24
25
  - lib/uri/component/query.rb
25
26
  - lib/uri/component/userinfo.rb