micon 0.1.5 → 0.1.6

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.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rake_ext'
2
2
 
3
3
  project(
4
4
  :name => "micon",
5
- :version => "0.1.5",
5
+ :version => "0.1.6",
6
6
  :summary => "Assembles and manages pieces of your application",
7
7
 
8
8
  :author => "Alexey Petrushin",
@@ -96,22 +96,22 @@ module Micon
96
96
  end
97
97
  end
98
98
 
99
- def call_before_scope key
99
+ def call_before_scope key, container
100
100
  if callbacks = @before_scope[key]
101
- callbacks.each{|c| c.call}
101
+ callbacks.each{|c| c.call container}
102
102
  end
103
103
  end
104
104
 
105
- def call_after_scope key
105
+ def call_after_scope key, container
106
106
  if callbacks = @after_scope[key]
107
- callbacks.each{|c| c.call}
107
+ callbacks.each{|c| c.call container}
108
108
  end
109
109
  end
110
110
 
111
- def with_scope_callbacks key, &block
112
- call_before_scope key
111
+ def with_scope_callbacks key, container, &block
112
+ call_before_scope key, container
113
113
  result = block.call
114
- call_after_scope key
114
+ call_after_scope key, container
115
115
  result
116
116
  end
117
117
 
data/lib/micon/micon.rb CHANGED
@@ -30,14 +30,14 @@ module Micon
30
30
  begin
31
31
  outer_container_or_nil = Thread.current[scope_with_prefix]
32
32
  Thread.current[scope_with_prefix] = container
33
- @metadata.with_scope_callbacks scope, &block
33
+ @metadata.with_scope_callbacks scope, container, &block
34
34
  ensure
35
35
  Thread.current[scope_with_prefix] = outer_container_or_nil
36
36
  end
37
37
  else
38
38
  # not support nested scopes without block
39
39
  Thread.current[scope_with_prefix] = container
40
- @metadata.call_before_scope scope
40
+ @metadata.call_before_scope scope, container
41
41
  end
42
42
  end
43
43
 
@@ -47,7 +47,7 @@ module Micon
47
47
  scope_with_prefix = add_prefix(scope)
48
48
  raise_without_self "Scope '#{scope}' not active!" unless container = Thread.current[scope_with_prefix]
49
49
 
50
- @metadata.call_after_scope scope
50
+ @metadata.call_after_scope scope, container
51
51
  Thread.current[scope_with_prefix] = nil
52
52
  container
53
53
  end
@@ -40,14 +40,14 @@ describe "Callbacks" do
40
40
  describe "custom scope callbacks" do
41
41
  it "scope :before and :after callbacks" do
42
42
  check = mock
43
- check.should_receive(:before).ordered
43
+ check.should_receive(:before).with({}).ordered
44
44
  check.should_receive(:run).ordered
45
- check.should_receive(:after).ordered
46
- check.should_receive(:after2).ordered
45
+ check.should_receive(:after).with({}).ordered
46
+ check.should_receive(:after2).with({}).ordered
47
47
 
48
- Micon.before_scope(:custom){check.before}
49
- Micon.after_scope(:custom){check.after}
50
- Micon.after_scope(:custom){check.after2}
48
+ Micon.before_scope(:custom){|container| check.before container}
49
+ Micon.after_scope(:custom){|container| check.after container}
50
+ Micon.after_scope(:custom){|container| check.after2 container}
51
51
 
52
52
  Micon.activate(:custom, {}){check.run}
53
53
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alexey Petrushin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-15 00:00:00 +04:00
18
+ date: 2010-10-22 00:00:00 +04:00
19
19
  default_executable:
20
20
  dependencies: []
21
21