kapellmeister 0.8.0 → 0.9.0

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