rewritten 0.15.1 → 0.15.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1210f162d2a424e8819906e76dbc1a823928768
4
- data.tar.gz: 0a3856a7e3dbf5877613bf1c7660f4475fd10d8a
3
+ metadata.gz: b7a6bb53aa68bfdf91a14ddb75bc1c84626d4722
4
+ data.tar.gz: f0b6c9dc59ae890105a08d8e718da649903949f4
5
5
  SHA512:
6
- metadata.gz: ab7065074780644d85c84ee8a8747fd5b0a290cf8a2aa0d6c4a521e44cd6e8158e2200defc42cd7a6a53938ab4d106b066931bc76c55047aa3d2ef09ddd2dec8
7
- data.tar.gz: db4d6bc68a2e8b2bf8c177b45a28ac12f798d5c4872259611cf0b9943fb6725f9299723ce22f4b7dd8bde3ab4d46e5e20610621ca22a9473500d2713de09958c
6
+ metadata.gz: 943f60c79e3c96113f0fb4cd6556cdbb079c1cd34caa476ca46065c2529096c3661c8a7d1a0cc5bc31d6be293694bffa3da898b5bc4b689eb2e05b7e4a9ac933
7
+ data.tar.gz: 135a2c929eaaedd54cd8558797885632eb42a22d806732c0dc221f8d984f20f31a870bc20bdadacbd42e023be8645267f7d7f7be51614b0f8d7faaffc21905f3
data/HISTORY.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.15.2
2
+
3
+ * Fixes nested parameters
4
+
1
5
  == 0.15.0
2
6
 
3
7
  * Support external targets in redirects
data/lib/rack/url.rb CHANGED
@@ -50,8 +50,7 @@ module Rack
50
50
  if (current_path == req.path_info) or (::Rewritten.base_from(req.path_info) == current_path) or ::Rewritten.has_flag?(path, 'L')
51
51
  # if this is the current path, rewrite path and parameters
52
52
  tpath, tparams = split_to_path_params(to)
53
-
54
- env['QUERY_STRING'] = Rack::Utils.build_query(tparams.merge(req.params))
53
+ env['QUERY_STRING'] = Rack::Utils.build_nested_query(tparams.merge(req.params))
55
54
  req.path_info = tpath + ::Rewritten.appendix(req.path_info)
56
55
  @app.call(req.env)
57
56
  else
@@ -77,7 +76,7 @@ module Rack
77
76
 
78
77
  def split_to_path_params(path_and_query)
79
78
  path, query_string = path_and_query.split('?').push('')[0..1]
80
- [path, Rack::Utils.parse_query(query_string)]
79
+ [path, Rack::Utils.parse_query(query_string)]
81
80
  end
82
81
 
83
82
  private
@@ -1,4 +1,4 @@
1
1
  module Rewritten
2
- VERSION = "0.15.1"
2
+ VERSION = "0.15.2"
3
3
  end
4
4
 
@@ -12,7 +12,7 @@ describe Rack::Rewritten::Url do
12
12
  'rack.input' => '',
13
13
  'rack.url_scheme' => 'http'}.merge(overrides)
14
14
  end
15
-
15
+
16
16
  def request_url(url, params={})
17
17
  call_args.merge({'REQUEST_URI' => url, 'PATH_INFO' => url}.merge(params) )
18
18
  end
@@ -83,12 +83,12 @@ describe Rack::Rewritten::Url do
83
83
 
84
84
  describe "partial translation" do
85
85
 
86
- before do
86
+ before do
87
87
  @request_str = '/foo/baz/with_tail'
88
88
  @env = request_url(@request_str)
89
- Rewritten.translate_partial = true
90
- end
91
-
89
+ Rewritten.translate_partial = true
90
+ end
91
+
92
92
  after do
93
93
  Rewritten.translate_partial = false
94
94
  end
@@ -104,7 +104,7 @@ describe Rack::Rewritten::Url do
104
104
  end
105
105
 
106
106
  it "must translate partials if enabled" do
107
- Rewritten.translate_partial = true
107
+ Rewritten.translate_partial = true
108
108
  @app.expect :call, [200, {'Content-Type' => 'text/html'},[]], [Hash]
109
109
  ret = @rack.call @env
110
110
  @app.verify
@@ -123,7 +123,7 @@ describe Rack::Rewritten::Url do
123
123
  @env['PATH_INFO'].must_equal url
124
124
  end
125
125
 
126
-
126
+
127
127
  it "won't translate segments not by separated by slashes" do
128
128
  @app.expect :call, [200, {'Content-Type' => 'text/plain'},[""]], [Hash]
129
129
  ret = @rack.call @env=request_url('/foo/bazzling')
@@ -151,7 +151,7 @@ describe Rack::Rewritten::Url do
151
151
  end
152
152
 
153
153
  describe "caps behavior" do
154
-
154
+
155
155
  it "must diferentiate caps" do
156
156
  @app.expect :call, [200, {'Content-Type' => 'text/plain'},[""]], [Hash]
157
157
  ret = @rack.call request_url('/Foo/Bar')
@@ -240,7 +240,7 @@ describe Rack::Rewritten::Url do
240
240
 
241
241
  it "must set PATH_INFO to /products/2" do
242
242
  @rack.call(@initial_args)
243
- @initial_args['PATH_INFO'].must_equal "/products/2"
243
+ @initial_args['PATH_INFO'].must_equal "/products/2"
244
244
  end
245
245
 
246
246
  it "must set QUERY_STRING to w=1" do
@@ -254,9 +254,15 @@ describe Rack::Rewritten::Url do
254
254
  @initial_args['QUERY_STRING'].split('&').sort.must_equal ['s=1', 'w=1']
255
255
  end
256
256
 
257
+ it "must merge nested rails style QUERY parameters" do
258
+ @initial_args.merge!('QUERY_STRING' => 'x[id]=1')
259
+ @rack.call(@initial_args)
260
+ @initial_args['QUERY_STRING'].split('&').sort.map{|s| URI.unescape(s)}.must_equal ['w=1', 'x[id]=1']
261
+ end
262
+
263
+
257
264
  end
258
265
 
259
266
 
260
267
 
261
268
  end
262
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rewritten
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Rubarth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2015-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-namespace
@@ -238,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
238
  version: '0'
239
239
  requirements: []
240
240
  rubyforge_project: rewritten
241
- rubygems_version: 2.2.2
241
+ rubygems_version: 2.4.6
242
242
  signing_key:
243
243
  specification_version: 4
244
244
  summary: A redis-based URL rewriting engine