expo 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/expo.rb +13 -6
- metadata +1 -1
data/lib/expo.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
class Expo
|
2
2
|
CALL_ORDER = [:summon, :aside, :expose, :sub_expo, :collection]
|
3
|
+
CALL_IMMEDIATELY = [:summon, :aside, :expose]
|
4
|
+
CALL_LATER = [:sub_expo, :collection]
|
5
|
+
|
3
6
|
def initialize(presenter=nil, &block)
|
4
7
|
@presenter = presenter
|
5
8
|
@block = block
|
@@ -41,13 +44,17 @@ class Expo
|
|
41
44
|
private
|
42
45
|
|
43
46
|
def method_missing(meth, *args, &block)
|
44
|
-
|
47
|
+
if CALL_IMMEDIATELY.include? meth
|
48
|
+
self.send("#{meth}_inner".to_sym, *args, &block)
|
49
|
+
end
|
50
|
+
if CALL_LATER.include? meth
|
51
|
+
@inner_calls << {
|
52
|
+
method: "#{meth}_inner".to_sym,
|
53
|
+
args: args,
|
54
|
+
block: block
|
55
|
+
}
|
56
|
+
end
|
45
57
|
|
46
|
-
@inner_calls << {
|
47
|
-
method: "#{meth}_inner".to_sym,
|
48
|
-
args: args,
|
49
|
-
block: block
|
50
|
-
}
|
51
58
|
nil
|
52
59
|
end
|
53
60
|
def sub_expo_inner(object, sub_expo_passed, key)
|