qeweney 0.8.3 → 0.8.4

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
  SHA256:
3
- metadata.gz: 7581e52b302cdddc3c72e952e1fb10987294008b835dc4397be43eeb02432e21
4
- data.tar.gz: db9891b0910cbd82a579fc0fe5e57d7b0fcdec2a0913a772ef1292fbbf6944cb
3
+ metadata.gz: f42e3096a55b17945a57c5251356358d001c0dffccd946b6d15e45197a2b14e7
4
+ data.tar.gz: 461d3ee59c50da3600f9dbb77240de119a796e720cfb3e5887f872e472619eb6
5
5
  SHA512:
6
- metadata.gz: 1bd790e2a419bd5463846436c517c8f4552a8347099d6d0ea86ee9c5a5759bf343a0ddda6022f5f6173688f892685669d9d832a073bfbef808f5b105c7d97ede
7
- data.tar.gz: c89e11cb104b50cbc30f0db451aef81d829767992d4cba18568f1fee243962b63464ff186731709754e8bd919923aabe13e4080a8f470d81d1501ca13481fa1a
6
+ metadata.gz: 2b8767bb2d9c537d612270d14b99c250cc1094d5809d937a921da59aa53156ea91a06db51393fb0e98d850bbd996e6f7f019757f1e041ad25e65efcc1e1d4f20
7
+ data.tar.gz: 8fc8247af91f73ceba720d76eb5ef0965d9543e72c6d8edfae9e8b951ddd7269b2d2c921abf7cca05b18037f165389f9c43d3b57093206e3b81975b67c4aac75
data/CHANGELOG.md CHANGED
@@ -1,7 +1,11 @@
1
+ ## 0.8.4 2021-03-23
2
+
3
+ - Rename and fix `#parse_query` to deal with no-value query parts
4
+
1
5
  ## 0.8.3 2021-03-22
2
6
 
3
7
  - Streamline routing behaviour in sub routes (an explicit default sub route is
4
- now required if no sub route matches).
8
+ now required if no sub route matches)
5
9
 
6
10
  ## 0.8.2 2021-03-17
7
11
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qeweney (0.8.3)
4
+ qeweney (0.8.4)
5
5
  escape_utils (~> 1.2.1)
6
6
 
7
7
  GEM
@@ -52,13 +52,13 @@ module Qeweney
52
52
  def query
53
53
  return @query if @query
54
54
 
55
- @query = (q = uri.query) ? split_query_string(q) : {}
55
+ @query = (q = uri.query) ? parse_query(q) : {}
56
56
  end
57
57
 
58
- def split_query_string(query)
58
+ def parse_query(query)
59
59
  query.split('&').each_with_object({}) do |kv, h|
60
60
  k, v = kv.split('=')
61
- h[k.to_sym] = URI.decode_www_form_component(v)
61
+ h[k.to_sym] = v ? URI.decode_www_form_component(v) : true
62
62
  end
63
63
  end
64
64
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Qeweney
4
- VERSION = '0.8.3'
4
+ VERSION = '0.8.4'
5
5
  end
@@ -13,6 +13,16 @@ class RequestInfoTest < MiniTest::Test
13
13
  assert_equal({ a: '1', b: '2', c: '3/4' }, r.query)
14
14
  end
15
15
 
16
+ def test_query
17
+ r = Qeweney.mock(':path' => '/GponForm/diag_Form?images/')
18
+ assert_equal '/GponForm/diag_Form', r.path
19
+ assert_equal({:'images/' => true}, r.query)
20
+
21
+ r = Qeweney.mock(':path' => '/?a=1&b=2')
22
+ assert_equal '/', r.path
23
+ assert_equal({a: '1', b: '2'}, r.query)
24
+ end
25
+
16
26
  def test_host
17
27
  r = Qeweney.mock(':path' => '/')
18
28
  assert_nil r.host
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qeweney
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-22 00:00:00.000000000 Z
11
+ date: 2021-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: escape_utils
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  requirements: []
139
- rubygems_version: 3.1.4
139
+ rubygems_version: 3.0.8
140
140
  signing_key:
141
141
  specification_version: 4
142
142
  summary: Qeweney - cross library HTTP request / response API