doze 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/doze/utils.rb +23 -18
- data/lib/doze/version.rb +1 -1
- metadata +56 -73
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3f81a7523454cf5b74c57db02eb075ae853029a0
|
4
|
+
data.tar.gz: 7f6402fd58578c236f1cec410a9858736de6928b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: af9ecf34ddfd51992ef8517d9abe89e80a703506a3d495dcb84f0aad5c6e53df7d69619099ce6502beab0f19c687b2c050a6cadd75c540ad13f02728bca9a9d2
|
7
|
+
data.tar.gz: f4f6daf01c822194a02be0b10718e598390ecd60a83592cc556c83fd1f1f71464b56b38e09c9238754c6ba0aaaa710e4c980784ad86420f4fb446d2d9c3922d7
|
data/lib/doze/utils.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
# Various stateless utility functions which aid the conversion back and forth
|
1
|
+
# Various stateless utility functions which aid the conversion back and forth
|
2
|
+
# between HTTP syntax and the more abstracted ruby representations we use.
|
2
3
|
module Doze::Utils
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
Rack::Utils::HTTP_STATUS_CODES.each do |code,text|
|
8
|
-
const_set('STATUS_' << text.upcase.gsub(/[^A-Z]+/, '_'), code)
|
9
|
-
end
|
4
|
+
Rack::Utils::HTTP_STATUS_CODES.reject { |_, text| text == 'Unassigned' }.
|
5
|
+
each do |code, text|
|
6
|
+
const_set('STATUS_' << text.upcase.gsub(/[^A-Z]+/, '_'), code)
|
7
|
+
end
|
10
8
|
|
11
9
|
URI_SCHEMES = Hash.new(URI::Generic).merge!(
|
12
10
|
'http' => URI::HTTP,
|
@@ -25,29 +23,36 @@ module Doze::Utils
|
|
25
23
|
'"' << str.gsub(/[\\\"]/o, "\\\1") << '"'
|
26
24
|
end
|
27
25
|
|
28
|
-
# Note: unescape and escape proved bottlenecks in URI template matching and
|
29
|
-
#
|
30
|
-
#
|
26
|
+
# Note: unescape and escape proved bottlenecks in URI template matching and
|
27
|
+
# URI template generation which in turn were bottlenecks for serving some
|
28
|
+
# simple requests and for generating URIs to use for cache lookups. So
|
29
|
+
# perhaps a bit micro-optimised here, but there was a reason :)
|
31
30
|
|
32
31
|
# Rack::Utils.unescape, but without turning '+' into ' '
|
33
32
|
# Also must be passed a string.
|
34
33
|
def unescape(s)
|
35
|
-
s.gsub(/((?:%[0-9a-fA-F]{2})+)/n) {[$1.delete('%')].pack('H*')}
|
34
|
+
s.gsub(/((?:%[0-9a-fA-F]{2})+)/n) { [$1.delete('%')].pack('H*') }
|
36
35
|
end
|
37
36
|
|
38
|
-
# Rack::Utils.escape, but turning ' ' into '%20' rather than '+' (which is
|
39
|
-
#
|
40
|
-
# Also avoids an extra call to 1.8/1.9
|
37
|
+
# Rack::Utils.escape, but turning ' ' into '%20' rather than '+' (which is
|
38
|
+
# not a necessary part of the URI spec) to save an extra call to tr. Also
|
39
|
+
# must be passed a string. Also avoids an extra call to 1.8/1.9
|
40
|
+
# compatibility wrapper for bytesize/size.
|
41
41
|
if ''.respond_to?(:bytesize)
|
42
42
|
def escape(s)
|
43
|
-
s.gsub(/([^a-zA-Z0-9_.-]+)/n)
|
43
|
+
s.gsub(/([^a-zA-Z0-9_.-]+)/n) do
|
44
|
+
'%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
|
45
|
+
end
|
44
46
|
end
|
45
47
|
else
|
46
48
|
def escape(s)
|
47
|
-
s.gsub(/([^a-zA-Z0-9_.-]+)/n)
|
49
|
+
s.gsub(/([^a-zA-Z0-9_.-]+)/n) do
|
50
|
+
'%' + $1.unpack('H2' * $1.size).join('%').upcase
|
51
|
+
end
|
48
52
|
end
|
49
53
|
end
|
50
54
|
|
51
|
-
# So utility functions are accessible as Doze::Utils.foo as well as via
|
55
|
+
# So utility functions are accessible as Doze::Utils.foo as well as via
|
56
|
+
# including the module
|
52
57
|
extend self
|
53
58
|
end
|
data/lib/doze/version.rb
CHANGED
metadata
CHANGED
@@ -1,118 +1,102 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doze
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.13
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Matthew Willson
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rack-test
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: mocha
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rdoc
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rack
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '1.0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '1.0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: json
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
|
-
description:
|
111
|
-
type
|
112
|
-
|
97
|
+
description: |
|
98
|
+
Library for building restful APIs, with hierarchical routing, content type
|
113
99
|
handling and other RESTful stuff
|
114
|
-
|
115
|
-
'
|
116
100
|
email:
|
117
101
|
- matthew@playlouder.com
|
118
102
|
executables: []
|
@@ -120,84 +104,83 @@ extensions: []
|
|
120
104
|
extra_rdoc_files:
|
121
105
|
- README.md
|
122
106
|
files:
|
107
|
+
- README.md
|
123
108
|
- lib/doze.rb
|
109
|
+
- lib/doze/application.rb
|
110
|
+
- lib/doze/collection/object.rb
|
111
|
+
- lib/doze/entity.rb
|
124
112
|
- lib/doze/error.rb
|
125
|
-
- lib/doze/uri_template.rb
|
126
|
-
- lib/doze/responder.rb
|
127
|
-
- lib/doze/version.rb
|
128
|
-
- lib/doze/response.rb
|
129
113
|
- lib/doze/media_type.rb
|
130
114
|
- lib/doze/negotiator.rb
|
131
|
-
- lib/doze/
|
132
|
-
- lib/doze/utils.rb
|
115
|
+
- lib/doze/page.rb
|
133
116
|
- lib/doze/request.rb
|
117
|
+
- lib/doze/resource.rb
|
134
118
|
- lib/doze/resource/error.rb
|
135
119
|
- lib/doze/resource/proxy.rb
|
136
|
-
- lib/doze/
|
120
|
+
- lib/doze/responder.rb
|
121
|
+
- lib/doze/responder/error.rb
|
122
|
+
- lib/doze/responder/main.rb
|
123
|
+
- lib/doze/responder/resource.rb
|
124
|
+
- lib/doze/response.rb
|
125
|
+
- lib/doze/router.rb
|
137
126
|
- lib/doze/router/anchored_route_set.rb
|
138
127
|
- lib/doze/router/route.rb
|
139
|
-
- lib/doze/
|
128
|
+
- lib/doze/router/route_set.rb
|
129
|
+
- lib/doze/serialization/entity.rb
|
130
|
+
- lib/doze/serialization/form_data_helpers.rb
|
140
131
|
- lib/doze/serialization/html.rb
|
132
|
+
- lib/doze/serialization/json.rb
|
141
133
|
- lib/doze/serialization/multipart_form_data.rb
|
142
|
-
- lib/doze/serialization/yaml.rb
|
143
|
-
- lib/doze/serialization/www_form_encoded.rb
|
144
|
-
- lib/doze/serialization/form_data_helpers.rb
|
145
|
-
- lib/doze/serialization/resource_proxy.rb
|
146
|
-
- lib/doze/serialization/entity.rb
|
147
134
|
- lib/doze/serialization/resource.rb
|
148
|
-
- lib/doze/
|
149
|
-
- lib/doze/
|
150
|
-
- lib/doze/
|
151
|
-
- lib/doze/
|
152
|
-
- lib/doze/
|
153
|
-
- lib/doze/
|
154
|
-
- lib/doze/application.rb
|
155
|
-
- lib/doze/router.rb
|
156
|
-
- README.md
|
157
|
-
- test/functional/resource_representation_test.rb
|
158
|
-
- test/functional/method_support_test.rb
|
159
|
-
- test/functional/router_test.rb
|
160
|
-
- test/functional/direct_response_test.rb
|
161
|
-
- test/functional/error_handling_test.rb
|
162
|
-
- test/functional/precondition_test.rb
|
135
|
+
- lib/doze/serialization/resource_proxy.rb
|
136
|
+
- lib/doze/serialization/www_form_encoded.rb
|
137
|
+
- lib/doze/serialization/yaml.rb
|
138
|
+
- lib/doze/uri_template.rb
|
139
|
+
- lib/doze/utils.rb
|
140
|
+
- lib/doze/version.rb
|
163
141
|
- test/functional/auth_test.rb
|
164
|
-
- test/functional/raw_path_info_test.rb
|
165
142
|
- test/functional/base.rb
|
166
143
|
- test/functional/cache_header_test.rb
|
167
|
-
- test/functional/
|
144
|
+
- test/functional/direct_response_test.rb
|
145
|
+
- test/functional/error_handling_test.rb
|
146
|
+
- test/functional/get_and_conneg_test.rb
|
168
147
|
- test/functional/media_type_extensions_test.rb
|
148
|
+
- test/functional/media_type_test.rb
|
149
|
+
- test/functional/method_support_test.rb
|
169
150
|
- test/functional/non_get_method_test.rb
|
170
|
-
- test/functional/
|
151
|
+
- test/functional/precondition_test.rb
|
152
|
+
- test/functional/raw_path_info_test.rb
|
153
|
+
- test/functional/resource_representation_test.rb
|
154
|
+
- test/functional/router_test.rb
|
171
155
|
- test/functional/serialization_test.rb
|
172
|
-
- test/functional/
|
156
|
+
- test/functional/uri_template_test.rb
|
173
157
|
homepage: https://github.com/mjwillson/doze
|
174
158
|
licenses: []
|
159
|
+
metadata: {}
|
175
160
|
post_install_message:
|
176
161
|
rdoc_options:
|
177
|
-
- --title
|
162
|
+
- "--title"
|
178
163
|
- Doze
|
179
|
-
- --main
|
164
|
+
- "--main"
|
180
165
|
- README.md
|
181
|
-
- --line-numbers
|
166
|
+
- "--line-numbers"
|
182
167
|
require_paths:
|
183
168
|
- lib
|
184
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
170
|
requirements:
|
187
|
-
- -
|
171
|
+
- - ">="
|
188
172
|
- !ruby/object:Gem::Version
|
189
173
|
version: '0'
|
190
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
175
|
requirements:
|
193
|
-
- -
|
176
|
+
- - ">="
|
194
177
|
- !ruby/object:Gem::Version
|
195
178
|
version: '0'
|
196
179
|
requirements: []
|
197
180
|
rubyforge_project:
|
198
|
-
rubygems_version:
|
181
|
+
rubygems_version: 2.2.2
|
199
182
|
signing_key:
|
200
|
-
specification_version:
|
183
|
+
specification_version: 4
|
201
184
|
summary: RESTful resource-oriented API framework
|
202
185
|
test_files:
|
203
186
|
- test/functional/resource_representation_test.rb
|