chickadee 7.0.0 → 7.0.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
  SHA1:
3
- metadata.gz: dbf8380c0a57e470589b4365513b5f10d9ff2ef2
4
- data.tar.gz: 319303850926d99613c3b206c8da857ccc53d6ec
3
+ metadata.gz: 302436f862af27ce4b7f4f34b66e9437a7022e50
4
+ data.tar.gz: 3c06f9272a301089ce472422f409c5b771f55ba6
5
5
  SHA512:
6
- metadata.gz: 65578fc60ea269ffe5ffe512468faf1ca49783558854a5d5c68ecb4e8478f23b0ce6f416747f8aa39ff87c8bc840c07ef68a9935dff4960121d78d803636168f
7
- data.tar.gz: 2fb848d80c3579526303d131f1deeb46cec76785e2a41e7ec70f12b0c9225312719506517a950a922674020dce52962814f6e59379f2a0c0cb37d3210e2c753e
6
+ metadata.gz: f100151838e4542ef93352ed96039ec9a98765539d66147f577243d465b5c30740196c0a05c79d334bba3efc38f140b71c9c101724c876c61a6e1ca23b0efec6
7
+ data.tar.gz: d439fde4e066a90092bee3a37b3c578a2e53eb9c0884a4245fdbf33c25e5a5f89cafcc9beedb6806d533e697f6c7feee80d223c5e183d742a887851301756022
@@ -6,19 +6,21 @@ require "rack/builder"
6
6
  module Chickadee
7
7
  class Application
8
8
  def initialize(
9
- installers: [],
10
9
  request: Rack::Request,
11
- response: Rack::Response,
12
- container: Container,
10
+ response: Rack::Response,
13
11
  builder: Rack::Builder,
14
- use: []
12
+ container: Container
15
13
  )
16
- @installers = installers
17
14
  @request_class = request
18
15
  @response_class = response
19
16
  @container_class = container
20
17
  @builder_class = builder
21
- @use_cache = use
18
+ @use_cache = []
19
+ @register_cache = []
20
+ end
21
+
22
+ def register(*args, &block)
23
+ @register_cache << [args, block]
22
24
  end
23
25
 
24
26
  def use(*args, &block)
@@ -39,7 +41,7 @@ module Chickadee
39
41
  request = @request_class.new(env)
40
42
  response = @response_class.new
41
43
  container = @container_class.new
42
- @installers.each{ |installer| installer.call(container) }
44
+ @register_cache.each{ |r| container.register(*r[0], &r[1]) }
43
45
  container.resolve(name).call(request, response)
44
46
  end
45
47
  end
@@ -1,3 +1,3 @@
1
1
  module Chickadee
2
- VERSION = "7.0.0"
2
+ VERSION = "7.0.1"
3
3
  end
data/lib/chickadee.rb CHANGED
@@ -1,5 +1,4 @@
1
- require 'chickadee/version'
2
- require 'chickadee/container'
1
+ require "chickadee/version"
3
2
 
4
3
  module Chickadee
5
4
  end
@@ -0,0 +1,16 @@
1
+ require "chickadee/application"
2
+
3
+ describe Chickadee::Application do
4
+ describe "service" do
5
+ it "returns callable object" do
6
+ env = {}
7
+ controller = Proc.new{ |req, res| [req, res] }
8
+ application = Chickadee::Application.new
9
+ application.register(:my_service){ controller }
10
+ obj = application.service(:my_service)
11
+ req, res = obj.call(env)
12
+ req.must_be_instance_of(Rack::Request)
13
+ res.must_be_instance_of(Rack::Response)
14
+ end
15
+ end
16
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1,2 @@
1
- require 'minitest/autorun'
2
- require 'mocha/setup'
1
+ require "minitest/autorun"
2
+ require "mocha/setup"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chickadee
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Lott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-14 00:00:00.000000000 Z
11
+ date: 2014-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ioc
@@ -115,6 +115,7 @@ files:
115
115
  - lib/chickadee/version.rb
116
116
  - lib/chickadee/vos/numeric_id.rb
117
117
  - lib/chickadee/vos/uuid.rb
118
+ - spec/application_spec.rb
118
119
  - spec/spec_helper.rb
119
120
  homepage: ''
120
121
  licenses:
@@ -141,4 +142,5 @@ signing_key:
141
142
  specification_version: 4
142
143
  summary: Minimal domain driven design library
143
144
  test_files:
145
+ - spec/application_spec.rb
144
146
  - spec/spec_helper.rb