factor 0.0.84 → 0.0.85
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cli/server_task.rb +18 -3
- data/lib/client/client.rb +1 -1
- data/lib/runtime/engine.rb +0 -5
- metadata +1 -1
data/lib/cli/server_task.rb
CHANGED
@@ -6,24 +6,39 @@ module Factor
|
|
6
6
|
class ServerTask < Command
|
7
7
|
desc "start", "start the server"
|
8
8
|
method_option :tags, :alias=>"-t", :type=>:hash, :desc=>"Optional tags to identify from workflow"
|
9
|
+
method_option :channels, :type=>:array, :desc=>"Optional channel ruby file list for development"
|
9
10
|
def start
|
10
11
|
engine = Factor::Runtime::Engine.new(get_config[:email],get_config[:token])
|
11
12
|
|
12
13
|
options.tags.each {|tag,value| engine.tag(tag,value)} if options.tags?
|
13
14
|
|
14
|
-
|
15
|
+
# load channels from server
|
16
|
+
puts "loading channels from server"
|
15
17
|
engine = @client.load_channels(engine) do |message|
|
16
18
|
puts " #{message}"
|
17
19
|
end
|
20
|
+
|
21
|
+
# load channels from files
|
22
|
+
if options.channels?
|
23
|
+
options.channels.each do |file|
|
24
|
+
full_file=File.expand_path(file)
|
25
|
+
puts " loading '#{full_file}'"
|
26
|
+
engine.load_channel(full_file)
|
27
|
+
puts " loaded '#{full_file}'"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
18
31
|
puts "loading channels complete"
|
19
32
|
|
20
|
-
|
33
|
+
|
34
|
+
# load workflows from server
|
35
|
+
puts "loading workflows from server"
|
21
36
|
engine = @client.load_workflows(engine) do |message|
|
22
37
|
puts " #{message}"
|
23
38
|
end
|
24
39
|
puts "loading workflows complete"
|
25
40
|
|
26
|
-
puts "loading credentials"
|
41
|
+
puts "loading credentials from server"
|
27
42
|
engine = @client.load_credentials(engine) do |message|
|
28
43
|
puts " #{message}"
|
29
44
|
end
|
data/lib/client/client.rb
CHANGED
data/lib/runtime/engine.rb
CHANGED
@@ -31,8 +31,6 @@ module Factor
|
|
31
31
|
require file
|
32
32
|
channel_module_name = File.basename(file).gsub('.rb','').split('_').map{|ea| ea.capitalize}.join('')
|
33
33
|
channel_module= self.class.const_get(channel_module_name)
|
34
|
-
puts "[channel_module.definition['module']] #{channel_module.definition["module"]}"
|
35
|
-
puts "[channel_module] #{channel_module.inspect}"
|
36
34
|
@channel_modules[channel_module.definition["module"]]=channel_module
|
37
35
|
end
|
38
36
|
|
@@ -75,7 +73,6 @@ module Factor
|
|
75
73
|
workflow = @workflows[message.workflow]
|
76
74
|
activity = workflow.get_activity(message.position)
|
77
75
|
if !activity.nil?
|
78
|
-
# puts "[activity] #{activity.to_s}"
|
79
76
|
action = activity["action"]
|
80
77
|
channel = activity["channel"]
|
81
78
|
method = activity["method"]
|
@@ -85,13 +82,11 @@ module Factor
|
|
85
82
|
if match(target)
|
86
83
|
|
87
84
|
values = message.body.merge(@credentials)
|
88
|
-
# puts "[values] #{values}"
|
89
85
|
# this maps the input values passed in with the templated defined in the workflow
|
90
86
|
params = Hash.new
|
91
87
|
activity["params"].each do |key,template|
|
92
88
|
params[key]=Mustache.render(template,values)
|
93
89
|
end
|
94
|
-
# puts "[calling] #{channel}::#{method} (#{params.to_s})"
|
95
90
|
event = call_channel_method(channel,method,params)
|
96
91
|
|
97
92
|
response_message = message.respond(event.params,event.class.name.split("::").last)
|