chickadeex 7.3.0 → 7.5.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: 85540edc5bc2f6ac410e1309b996747f1156c13ab59f9bde6cf96c1ce28945e0
4
- data.tar.gz: bca0dc8e4ef9abf0760d307352d2262534b7da9a3ddfd21876807899935ea6f5
3
+ metadata.gz: 45de8f33ec18e303a1da7ccda573b4122df935c1c4e611187bdf858e212115af
4
+ data.tar.gz: b8b5466fddcc93fdbeeb205c682eb727ccf232b96a4ce9f7a486e31256db086f
5
5
  SHA512:
6
- metadata.gz: 1c3eadb2109105e51f72839e837f6eaf011653a15232c35a9262b19c5877bbe4745f87daa4e436a2d931194cac50c134026b643851326c40c9c01f0066d61320
7
- data.tar.gz: 3d1a3b0b7b6844ec1e112acbe2fdb1a97530b0f9100aa7e22d04c15d8f63017989d31bf231af5c2731a7128595d401591d4cdd826b48ebe59e908fb87ba88f40
6
+ metadata.gz: 1be36c777fd3f4b0f631f4726f5b2dd1ce29f43786632874fe73552025fe5df3022b6d03a631e3bee7cc584394c0dee20403531ebc52a0dcb235840a1c2d0a62
7
+ data.tar.gz: 663a0d07bae750ab944530b61fdaafdce8136a217c6ab24523d47fcc9d939a8bf9314138e89d4f0f39990fab08d896d48bac85ecf81681fcb3a61c17b4c7f17b
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.6.6
1
+ ruby-3.1.3p185
data/chickadee.gemspec CHANGED
@@ -20,7 +20,6 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "iocx", "~> 6.6.0"
22
22
  spec.add_dependency "rack", "~> 2.2", ">= 2.2.6.3"
23
- spec.add_dependency "hanami-router", "~> 2.0", ">= 2.0.2"
24
23
 
25
24
  spec.add_development_dependency "bundler", "~> 2.4", ">= 2.4.7"
26
25
  spec.add_development_dependency "rake", "~> 13.0", ">= 13.0.6"
@@ -4,6 +4,7 @@ require "rack/request"
4
4
  require "rack/response"
5
5
  require "rack/builder"
6
6
 
7
+
7
8
  module Chickadee
8
9
  class Application
9
10
  def initialize(request: Rack::Request, response: Rack::Response, builder: Rack::Builder, container: Container)
@@ -15,17 +16,17 @@ module Chickadee
15
16
  @register_cache = []
16
17
  end
17
18
 
18
- def register(*args, &block)
19
- @register_cache << [args, block]
19
+ def register(*args, **kwargs, &block)
20
+ @register_cache << [args, kwargs, block]
20
21
  end
21
22
 
22
- def use(*args, &block)
23
- @use_cache << [args, block]
23
+ def use(*args, **kwargs, &block)
24
+ @use_cache << [args, kwargs, block]
24
25
  end
25
26
 
26
27
  def service(name)
27
28
  builder = @builder_class.new
28
- @use_cache.each { |use| builder.use(*use[0], &use[1]) }
29
+ @use_cache.each { |use| builder.use(*use[0], **use[1], &use[2]) }
29
30
  builder.run(service_app(name))
30
31
  builder
31
32
  end
@@ -37,7 +38,7 @@ module Chickadee
37
38
  request = @request_class.new(env)
38
39
  response = @response_class.new
39
40
  container = @container_class.new
40
- @register_cache.each{ |r| container.register(*r[0], &r[1]) }
41
+ @register_cache.each{ |r| container.register(*r[0], **r[1], &r[2]) }
41
42
  container.resolve(name).call(request, response)
42
43
  end
43
44
  end
@@ -1,3 +1,3 @@
1
1
  module Chickadee
2
- VERSION = "7.3.0"
2
+ VERSION = "7.5.0"
3
3
  end
@@ -2,6 +2,18 @@ require "minitest"
2
2
  require "minitest/autorun"
3
3
  require "chickadee/application"
4
4
 
5
+ class TestMiddleware
6
+ def initialize(app, strategies: {}, message: "hello")
7
+ @app = app
8
+ @strategies = strategies
9
+ @message = message
10
+ end
11
+
12
+ def call(env)
13
+ @app.call(env)
14
+ end
15
+ end
16
+
5
17
  describe Chickadee::Application do
6
18
  describe "service" do
7
19
  it "returns callable object" do
@@ -15,4 +27,18 @@ describe Chickadee::Application do
15
27
  _(res).must_be_instance_of(Rack::Response)
16
28
  end
17
29
  end
30
+
31
+ describe "use" do
32
+ it "correctly delegates middleware arguments using ruby 3 args and kwargs" do
33
+ env = {}
34
+ service = Proc.new{ |req, res| [req, res] }
35
+ application = Chickadee::Application.new
36
+ application.use(TestMiddleware, :strategies => {:a => "a"})
37
+ application.register(:my_service){ service }
38
+ obj = application.service(:my_service)
39
+ req, res = obj.call(env)
40
+ _(req).must_be_instance_of(Rack::Request)
41
+ _(res).must_be_instance_of(Rack::Response)
42
+ end
43
+ end
18
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chickadeex
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.0
4
+ version: 7.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Lott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-07 00:00:00.000000000 Z
11
+ date: 2023-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iocx
@@ -44,26 +44,6 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 2.2.6.3
47
- - !ruby/object:Gem::Dependency
48
- name: hanami-router
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '2.0'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 2.0.2
57
- type: :runtime
58
- prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '2.0'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 2.0.2
67
47
  - !ruby/object:Gem::Dependency
68
48
  name: bundler
69
49
  requirement: !ruby/object:Gem::Requirement
@@ -135,7 +115,6 @@ files:
135
115
  - lib/chickadee.rb
136
116
  - lib/chickadee/application.rb
137
117
  - lib/chickadee/container.rb
138
- - lib/chickadee/router.rb
139
118
  - lib/chickadee/version.rb
140
119
  - lib/chickadee/vos/numeric_id.rb
141
120
  - lib/chickadee/vos/uuid.rb
@@ -1,5 +0,0 @@
1
- require "hanami/router"
2
-
3
- module Chickadee
4
- class Router < ::Hanami::Router; end
5
- end