uri_template 0.3.0 → 0.4.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 +6 -1
- data/README +2 -0
- data/lib/uri_template.rb +9 -1
- data/lib/uri_template/utils.rb +8 -10
- data/uri_template.gemspec +2 -2
- metadata +39 -14
data/CHANGELOG
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
# 0.4.0 - 06.07.2012
|
2
|
+
+ expand now accepts symbols as keys
|
3
|
+
+ expand now accepts arrays of pairs
|
4
|
+
* fixed some testing bugs
|
5
|
+
|
1
6
|
# 0.3.0 - 24.05.2012
|
2
|
-
|
7
|
+
+ Implemented the final version. Default implementation is now RFC 6570
|
3
8
|
* BUGFIX: variables with terminal dots were allowed
|
4
9
|
* BUGFIX: lists of commas were parsed incorrectly
|
5
10
|
|
data/README
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
= URITemplate - a uri template library
|
2
2
|
|
3
|
+
{<img src="https://secure.travis-ci.org/hannesg/uri_template.png" />}[http://travis-ci.org/hannesg/uri_template] {<img src="https://gemnasium.com/hannesg/uri_template.png" />}[https://gemnasium.com/hannesg/uri_template]
|
4
|
+
|
3
5
|
With URITemplate you can generate URI based on simple templates. The syntax if defined by RFC 6570 ( http://tools.ietf.org/html/rfc6570 ).
|
4
6
|
|
5
7
|
For backward compatibility, there is an implementation based on draft 7 of the uri template spec ( http://tools.ietf.org/html/draft-gregorio-uritemplate-07 ), too. For the syntax read that spec. Draft 2 of that specification is implemented as addressable gem.
|
data/lib/uri_template.rb
CHANGED
@@ -221,11 +221,19 @@ module URITemplate
|
|
221
221
|
|
222
222
|
# Expands this uri template with the given variables.
|
223
223
|
# The variables should be converted to strings using {Utils#object_to_param}.
|
224
|
+
#
|
225
|
+
# The keys in the variables hash are converted to
|
226
|
+
# strings in order to support the Ruby 1.9 hash syntax.
|
227
|
+
#
|
224
228
|
# @raise {Unconvertable} if a variable could not be converted to a string.
|
225
229
|
# @param variables Hash
|
226
230
|
# @return String
|
227
231
|
def expand(variables = {})
|
228
|
-
raise ArgumentError, "Expected something that returns to :
|
232
|
+
raise ArgumentError, "Expected something that returns to :map, but got: #{variables.inspect}" unless variables.respond_to? :map
|
233
|
+
|
234
|
+
# Stringify variables
|
235
|
+
variables = Hash[variables.map{ |k, v| [k.to_s, v] }]
|
236
|
+
|
229
237
|
tokens.map{|part|
|
230
238
|
part.expand(variables)
|
231
239
|
}.join
|
data/lib/uri_template/utils.rb
CHANGED
@@ -78,7 +78,6 @@ module URITemplate
|
|
78
78
|
# @method to_ascii(string)
|
79
79
|
# converts a string to ascii
|
80
80
|
#
|
81
|
-
# This method checks which encoding method is available.
|
82
81
|
# @param str [String]
|
83
82
|
# @return String
|
84
83
|
# @visibility public
|
@@ -89,7 +88,6 @@ module URITemplate
|
|
89
88
|
# @method to_utf8(string)
|
90
89
|
# converts a string to utf8
|
91
90
|
#
|
92
|
-
# This method checks which encoding method is available.
|
93
91
|
# @param str [String]
|
94
92
|
# @return String
|
95
93
|
# @visibility public
|
@@ -106,15 +104,15 @@ module URITemplate
|
|
106
104
|
end
|
107
105
|
|
108
106
|
if "".respond_to?(:encode)
|
109
|
-
# @private
|
110
|
-
alias_method :to_ascii, :to_ascii_encode
|
111
|
-
# @private
|
112
|
-
alias_method :to_utf8, :to_utf8_encode
|
107
|
+
# @api private
|
108
|
+
send(:alias_method, :to_ascii, :to_ascii_encode)
|
109
|
+
# @api private
|
110
|
+
send(:alias_method, :to_utf8, :to_utf8_encode)
|
113
111
|
else
|
114
|
-
# @private
|
115
|
-
alias_method :to_ascii, :to_ascii_fallback
|
116
|
-
# @private
|
117
|
-
alias_method :to_utf8, :to_utf8_fallback
|
112
|
+
# @api private
|
113
|
+
send(:alias_method, :to_ascii, :to_ascii_fallback)
|
114
|
+
# @api private
|
115
|
+
send(:alias_method, :to_utf8, :to_utf8_fallback)
|
118
116
|
end
|
119
117
|
|
120
118
|
public :to_ascii
|
data/uri_template.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uri_template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
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: 2012-
|
12
|
+
date: 2012-07-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: multi_json
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: yard
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rake
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: bundler
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
description: ! 'A templating system for URIs, which implements RFC 6570: http://tools.ietf.org/html/rfc6570.
|
70
95
|
An implementation of an older version of that spec is known as addressable. This
|
71
96
|
gem however is intended to be extended when newer specs evolve. For now only draft
|
@@ -76,9 +101,9 @@ extensions: []
|
|
76
101
|
extra_rdoc_files: []
|
77
102
|
files:
|
78
103
|
- lib/uri_template/utils.rb
|
79
|
-
- lib/uri_template/draft7.rb
|
80
104
|
- lib/uri_template/colon.rb
|
81
105
|
- lib/uri_template/rfc6570.rb
|
106
|
+
- lib/uri_template/draft7.rb
|
82
107
|
- lib/uri_template.rb
|
83
108
|
- uri_template.gemspec
|
84
109
|
- README
|
@@ -103,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
128
|
version: '0'
|
104
129
|
requirements: []
|
105
130
|
rubyforge_project:
|
106
|
-
rubygems_version: 1.8.
|
131
|
+
rubygems_version: 1.8.24
|
107
132
|
signing_key:
|
108
133
|
specification_version: 3
|
109
134
|
summary: A templating system for URIs.
|