qeweney 0.8.3 → 0.8.4

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.
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