75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/ass.rb', line 75
def callback(info,payload)
if @callback_klass.respond_to? :version
klass = @callback_klass.get_version(payload[:version])
else
klass = @callback_klass
end
obj = klass.new
service = self
obj.instance_variable_set("@__service__",service)
obj.instance_variable_set("@__header__",info)
obj.instance_variable_set("@__meta__",payload[:meta])
class << obj
def
end
def meta
@__meta__
end
def service
@__service__
end
def call(method,data=nil,meta=nil,opts={})
@__service__.call(method,data,meta,opts)
end
end
obj.send(payload[:method],
payload[:data])
end
|