kapellmeister 0.5.0 → 0.5.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35a099fd93a99e185b872fa36e16ecd99b317a526879fd3f8956d47339db9f63
|
4
|
+
data.tar.gz: a04343e4b6494656190cb33dd79c856ca59c17f9c9e9755fa6fdc853d3f70548
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33080361e1d0c2617d11c96e16c404a19bd08787868aaa7904b0cda8c1c999ebdac251c4cf22003b2d03328acc2896cc707a6ff64e2d6c477d7165c2f88a058c
|
7
|
+
data.tar.gz: 71f5290e8c945c6d5ce87750c364db6dd15566045f9ef3e41ea39310c1c52e01cbebe46445bb5612a9a11b891502459f7a851060c39fd17112f79ad98d0f59c4
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# use_wrapper: true => Default true (* required)
|
7
7
|
# path: buz => Real path (* required)
|
8
8
|
# body: => Dry schema for checking parameters. If key doesn't exist nothing happens
|
9
|
-
#
|
9
|
+
# query_params: => Query params. If key doesn't exist nothing happens
|
10
10
|
# mock: => Structure or Path to mock file for tests. If key doesn't exist nothing happens
|
11
11
|
#
|
12
12
|
# Client.foo_bar { a: 'b' } => POST http://host/foo/buz DATA: { a: 'b' }
|
@@ -2,11 +2,11 @@ module Kapellmeister::RequestsExtension
|
|
2
2
|
def self.request_processing
|
3
3
|
proc do |name, request_data|
|
4
4
|
define_method name do |data = {}|
|
5
|
-
proc { |method:, path:, body: {},
|
5
|
+
proc { |method:, path:, body: {}, query_params: {}, mock: ''|
|
6
6
|
return ::Kapellmeister::Base.routes_scheme_parse(mock) if (Rails.try(:env) || ENV['APP_ENV']) == 'test'
|
7
7
|
|
8
8
|
valid_body?(data, body)
|
9
|
-
valid_query?(data,
|
9
|
+
valid_query?(data, query_params)
|
10
10
|
|
11
11
|
full_path = generate_full_path(path, data)
|
12
12
|
|
@@ -25,7 +25,7 @@ end
|
|
25
25
|
|
26
26
|
def generate_full_path(original_path, data)
|
27
27
|
path = generate_path(original_path, data)
|
28
|
-
[path, data.delete(:
|
28
|
+
[path, data.delete(:query_params)&.to_query].compact_blank!.join('?')
|
29
29
|
end
|
30
30
|
|
31
31
|
def generate_path(original_path, data)
|
@@ -52,11 +52,11 @@ def valid_query?(data, query)
|
|
52
52
|
|
53
53
|
from_data = data.slice(*required_keys)
|
54
54
|
data.except!(*required_keys)
|
55
|
-
data[:
|
56
|
-
data[:
|
55
|
+
data[:query_params] ||= {}
|
56
|
+
data[:query_params] = data[:query_params].to_h.merge!(from_data)
|
57
57
|
|
58
|
-
diffirent_keys = data[:
|
58
|
+
diffirent_keys = data[:query_params].transform_keys(&:to_sym)
|
59
59
|
return if required_keys.all? { |key| diffirent_keys.has_key? key.to_sym }
|
60
60
|
|
61
|
-
raise ArgumentError, "
|
61
|
+
raise ArgumentError, "Query params needs keys #{required_keys}"
|
62
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kapellmeister
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DarkWater
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-05-
|
11
|
+
date: 2022-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-schema
|