kapellmeister 0.8.0 → 0.9.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: 310275b6a62ec2d0e7d669d929ba840fc0fff1e33e1df7624dd50058e6bc2019
4
- data.tar.gz: 057a8571e02b3db203e53734002f1cf4abfd8190b28e1f21df03e9c8a54374d6
3
+ metadata.gz: fd1dc825909c7f1c1e835cba745c39389588c47842b66a29df5005d825fe14db
4
+ data.tar.gz: 4d39fae366656ee67ed4a286ccff9e999c546fd02ca0a4f64e32c85e69c5df68
5
5
  SHA512:
6
- metadata.gz: b42f79eaf9e15d9e6fbba01122688f8cf81b1e45708712a714cd0e6b42e4ca9cf6a09d35e96946a28ab0e6485db499cdf2d940b9865d27019124e177efa7b5f4
7
- data.tar.gz: d5063ebf038c9effbbdd3f9cb8e134619d584712402c47e1d48efa179d086469f6ed4ef0d753b0de89758b18783cc403abed388d849827221c3a1329cf8b4ddd
6
+ metadata.gz: 7d182a6941061d482629a104e637e5fb1df1f7726eac3bf6655386fb84408a86e678fa97a2c2541b54a57f2d3e3dff4496ea9c74ddb5a55462bbd041325db66d
7
+ data.tar.gz: 8e206010678f4c49a25f7aa30fb7e951aea7cfea898845b96a4a3e280964ebb7b6470768845d70c251ffc9f501386074638ad9030d430013980856a8b3334e45
@@ -2,11 +2,13 @@ require 'faraday_middleware'
2
2
  require_relative './requests_extension'
3
3
 
4
4
  class Kapellmeister::Dispatcher
5
- include Kapellmeister::RequestsExtension
6
- delegate :request_processing, to: Kapellmeister::RequestsExtension
5
+ def self.new(**args)
6
+ main_klass = self.module_parent.name.delete('::')
7
7
 
8
- def initialize
9
- self.class.module_parent.requests.each(&request_processing)
8
+ self.module_parent.requests.each do |request|
9
+ self.include Kapellmeister::RequestsExtension.request_processing(main_klass, request)
10
+ end
11
+ super(**args)
10
12
  end
11
13
 
12
14
  def self.inherited(base)
@@ -1,6 +1,12 @@
1
1
  module Kapellmeister::RequestsExtension
2
- def self.request_processing
3
- proc do |name, request_data|
2
+ def self.request_processing(klass, (name, request_data))
3
+ mod = if Object.const_defined?("#{self}::#{klass}InstanceMethods")
4
+ const_get("#{self}::#{klass}InstanceMethods")
5
+ else
6
+ const_set("#{klass}InstanceMethods", Module.new)
7
+ end
8
+
9
+ mod.module_eval do
4
10
  define_method name do |data = {}|
5
11
  proc { |method:, path: nil, body: {}, query_params: {}, mock: ''|
6
12
  if (Rails.try(:env) || ENV.fetch('APP_ENV', nil)) == 'test'
@@ -17,6 +23,8 @@ module Kapellmeister::RequestsExtension
17
23
  }.call(**request_data)
18
24
  end
19
25
  end
26
+
27
+ mod
20
28
  rescue NoMethodError
21
29
  raise "You need to define #{self} class with connection_by method"
22
30
  end
@@ -1,3 +1,3 @@
1
1
  module Kapellmeister
2
- VERSION = '0.8.0'.freeze
2
+ VERSION = '0.9.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kapellmeister
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DarkWater