kapellmeister 0.5.0 → 0.6.0

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: 3f6050eee5b66fbd57d701c5c4af3cd6bc1ee34089d1a0aaa7cf90c7fed12fa3
4
- data.tar.gz: 47d525ef9f511166657c397257b8989ca02dc6637c360c39a0354c355fa1a595
3
+ metadata.gz: 4469ce7f200030e5215269a415737eeb448029bac1e0ea60f238ab9d68eefd6d
4
+ data.tar.gz: 4a9387ea59601ed6b2413cae95b4dd4b05690492c331a4ed2d7f18f191b04a32
5
5
  SHA512:
6
- metadata.gz: 4471a0c7b78d03d30e3b61f977d81272aa434bb46c35d5f90bb310667cb2f913a2ba0797699401c8dfee6092fcec58c88643b396c0ba80ff46a9c31fa7b598fc
7
- data.tar.gz: 200139ca7b308fe988c74a9047484b8ed95c78b62cedbba5ff1fd848e40b1d9e8c2fb3f6b6fe06bcfceadc0906bbbdfe7173ae3c652f20616811f804a9bc97aa
6
+ metadata.gz: b3ed10ab1cf0c69d4e0a18aadb3f9b124d7b1f35040dfc67f89e96d931b1226f7aa2f81bd557998d3176912cd2a2a75ed0d9bd4b39cc18596c679b3bb14cc971
7
+ data.tar.gz: 3c3ad070259adcb1ba6ec7ac4bcc68a1faa9266bfb5ec50919bd93266698564d04849a43b2bea8afd0ce1ce13e35b30868d2fddce512617166e538cd71dbddb9
@@ -27,7 +27,7 @@ Gem::Specification.new do |gem|
27
27
 
28
28
  gem.required_ruby_version = '>= 2.4.2'
29
29
 
30
- gem.add_dependency 'dry-schema', '~> 1.9.1'
30
+ gem.add_dependency 'dry-schema', '~> 1.7'
31
31
  gem.add_dependency 'faraday', '~> 1.0'
32
32
  gem.add_dependency 'faraday-cookie_jar', '~> 0.0.7'
33
33
  gem.add_dependency 'faraday_middleware', '~> 1.2'
@@ -9,7 +9,9 @@ class <%= class_name %>::Configuration
9
9
  def url
10
10
  raise "No given host to #{self.class.name}" unless host
11
11
 
12
- https = ssl.presence || true
12
+ https = true
13
+ https = ssl unless ssl.nil?
14
+ https = <%= class_name %>.ssl unless <%= class_name %>.ssl.nil?
13
15
 
14
16
  "URI::HTTP#{https.to_b ? 'S' : ''}".constantize.build(host:, path: [path, version].join('/'))
15
17
  end
@@ -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
- # query: => Query params. If key doesn't exist nothing happens
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' }
@@ -28,8 +28,8 @@ module Kapellmeister::Base
28
28
  def self.routes_scheme_parse(path)
29
29
  template = ERB.new(File.read(path)).result
30
30
  YAML.safe_load(template, aliases: true, permitted_classes: [Symbol, Date, Time]).deep_symbolize_keys
31
- rescue Errno::ENOENT => e
32
- warn "No such file or directory", path
31
+ rescue Errno::ENOENT
32
+ warn 'No such file or directory', path
33
33
  {}
34
34
  end
35
35
  end
@@ -10,14 +10,14 @@ class Kapellmeister::Dispatcher
10
10
 
11
11
  FailedResponse = Struct.new(:success?, :response, :payload)
12
12
 
13
- def connection_by(method_name, path, data = {}, query = {})
13
+ def connection_by(method_name, path, data = {})
14
14
  additional_headers = data.delete(:headers) || {}
15
15
  requests_data = data.delete(:request) || {}
16
16
 
17
- generated_connection = connection(additional_headers:, requests_data:)
17
+ generated_connection = connection(additional_headers: additional_headers, requests_data: requests_data) # rubocop:disable Style/HashSyntax (for support ruby 2.4+)
18
18
 
19
19
  process generated_connection.run_request(method_name.downcase.to_sym, path, data.to_json, additional_headers)
20
- rescue NoMethodError, NameError, RuntimeError
20
+ rescue NameError, RuntimeError
21
21
  raise "Library can't process method #{method_name} yet"
22
22
  rescue Faraday::ConnectionFailed, Faraday::TimeoutError => e
23
23
  failed_response(details: e.message)
@@ -49,7 +49,7 @@ class Kapellmeister::Dispatcher
49
49
 
50
50
  def headers_generate(**additional)
51
51
  {
52
- accept: 'application/json, text/plain, */*, charset=utf-8',
52
+ # accept: 'application/json, text/plain, */*, charset=utf-8',
53
53
  **additional,
54
54
  **headers
55
55
  }
@@ -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: {}, query: {}, mock: ''|
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, query)
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(:query)&.to_query].compact_blank!.join('?')
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[:query] ||= {}
56
- data[:query] = data[:query].to_h.merge!(from_data)
55
+ data[:query_params] ||= {}
56
+ data[:query_params] = data[:query_params].to_h.merge!(from_data)
57
57
 
58
- diffirent_keys = data[:query].transform_keys(&:to_sym)
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, "query params needs keys #{required_keys}"
61
+ raise ArgumentError, "Query params needs keys #{required_keys}"
62
62
  end
@@ -12,7 +12,7 @@ class Kapellmeister::Responder
12
12
  def result
13
13
  error = !/2\d{2}/.match?(status.to_s)
14
14
 
15
- Result.new(!error, parsed_body, { status: }.merge(payload))
15
+ Result.new(!error, parsed_body, { status: status }.merge(payload)) # rubocop:disable Style/HashSyntax (for support ruby 2.4+)
16
16
  rescue JSON::ParserError => e
17
17
  Result.new(false, e)
18
18
  end
@@ -1,3 +1,3 @@
1
1
  module Kapellmeister
2
- VERSION = '0.5.0'.freeze
2
+ VERSION = '0.6.0'.freeze
3
3
  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.0
4
+ version: 0.6.0
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-10 00:00:00.000000000 Z
11
+ date: 2022-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-schema
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.9.1
19
+ version: '1.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.9.1
26
+ version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement