Module: Hg::Chunk
- Defined in:
- lib/hg/chunk.rb
Defined Under Namespace
Modules: ClassMethods, Initializer
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
3
4
5
6
7
8
9
10
11
12
|
# File 'lib/hg/chunk.rb', line 3
def self.included(base)
base.extend ClassMethods
base.prepend Initializer
base.id = base.to_s
base.deliverables = []
base.dynamic = false
base.add_to_router
base.add_to_chunks
base.include_chunks
end
|
Instance Method Details
#deliver ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/hg/chunk.rb', line 14
def deliver
self.class.show_typing(@recipient)
Rails.logger.info 'DELIVERABLES'
Rails.logger.info self.class.deliverables.inspect
self.class.deliverables.each do |deliverable|
if deliverable.is_a? Class
deliverable.new(recipient: @recipient, context: @context).deliver
elsif deliverable.is_a? Proc
template = self.class.dup
template.deliverables = []
template.class_exec(@recipient, @context, &deliverable)
template.new(recipient: @recipient, context: @context).deliver
else
Facebook::Messenger::Bot.deliver(deliverable.merge(recipient: @recipient), access_token: ENV['ACCESS_TOKEN'])
end
end
end
|