factor 0.0.99 → 0.1.00
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/lib/cli/channel_task.rb +3 -6
- data/lib/cli/credential_task.rb +4 -4
- data/lib/cli/workflow_task.rb +4 -4
- data/lib/client/client.rb +12 -10
- data/lib/runtime/engine.rb +9 -5
- metadata +1 -1
data/lib/cli/channel_task.rb
CHANGED
@@ -23,12 +23,9 @@ module Factor
|
|
23
23
|
puts @client.get_channels
|
24
24
|
end
|
25
25
|
|
26
|
-
desc "add
|
27
|
-
def add(
|
28
|
-
|
29
|
-
#contents=File.open(File.expand_path(filename), "rb") {|f| f.read}
|
30
|
-
|
31
|
-
puts @client.add_channel(name,directory)
|
26
|
+
desc "add DIRECTORY DEFINITION", "add a key and value for the credential"
|
27
|
+
def add(directory,definition_file)
|
28
|
+
puts @client.add_channel(directory,definition_file)
|
32
29
|
end
|
33
30
|
|
34
31
|
desc "remove NAME", "remove a workflow"
|
data/lib/cli/credential_task.rb
CHANGED
@@ -18,10 +18,10 @@ module Factor
|
|
18
18
|
puts @client.set_credential(key,value)
|
19
19
|
end
|
20
20
|
|
21
|
-
desc "remove KEY", "remove a value from the credentials bag"
|
22
|
-
def remove(key)
|
23
|
-
|
24
|
-
end
|
21
|
+
# desc "remove KEY", "remove a value from the credentials bag"
|
22
|
+
# def remove(key)
|
23
|
+
# puts @client.remove_credential(key)
|
24
|
+
# end
|
25
25
|
|
26
26
|
end
|
27
27
|
end
|
data/lib/cli/workflow_task.rb
CHANGED
@@ -32,10 +32,10 @@ module Factor
|
|
32
32
|
puts @client.add_workflow(name,contents)
|
33
33
|
end
|
34
34
|
|
35
|
-
desc "remove NAME", "remove a workflow"
|
36
|
-
def remove(name)
|
37
|
-
|
38
|
-
end
|
35
|
+
# desc "remove NAME", "remove a workflow"
|
36
|
+
# def remove(name)
|
37
|
+
# puts @client.remove_workflow(name)
|
38
|
+
# end
|
39
39
|
|
40
40
|
|
41
41
|
|
data/lib/client/client.rb
CHANGED
@@ -11,6 +11,7 @@ module Factor
|
|
11
11
|
attr_accessor :host
|
12
12
|
|
13
13
|
def initialize(host="http://factor.io")
|
14
|
+
#def initialize(host="http://localhost:3000/")
|
14
15
|
@host=host
|
15
16
|
end
|
16
17
|
|
@@ -114,24 +115,25 @@ module Factor
|
|
114
115
|
rest_get("workflows")
|
115
116
|
end
|
116
117
|
|
117
|
-
def remove_workflow(name="")
|
118
|
-
|
119
|
-
end
|
118
|
+
# def remove_workflow(name="")
|
119
|
+
# rest_delete("workflows",{:name=>name})
|
120
|
+
# end
|
120
121
|
|
121
122
|
|
122
123
|
# channels
|
123
|
-
def add_channel(
|
124
|
-
file=zip(path)
|
125
|
-
|
124
|
+
def add_channel(path,definition_file)
|
125
|
+
file=zip(File.expand_path(path))
|
126
|
+
definition = File.read(definition_file)
|
127
|
+
rest_post("channels",{:zip=>file,:definition=>definition})
|
126
128
|
end
|
127
129
|
|
128
130
|
def get_channels()
|
129
131
|
rest_get("channels")
|
130
132
|
end
|
131
133
|
|
132
|
-
def remove_channel(name="")
|
133
|
-
|
134
|
-
end
|
134
|
+
# def remove_channel(name="")
|
135
|
+
# rest_delete("channels",{:name=>name})
|
136
|
+
# end
|
135
137
|
|
136
138
|
|
137
139
|
|
@@ -174,7 +176,7 @@ module Factor
|
|
174
176
|
def zip(directory)
|
175
177
|
path=directory.dup
|
176
178
|
path.sub!(%r[/$],'')
|
177
|
-
zip_path = File.join(path,File.basename(path))+'.zip'
|
179
|
+
zip_path = File.join(path,"..",File.basename(path))+'.zip'
|
178
180
|
FileUtils.rm zip_path, :force=>true
|
179
181
|
Zip::ZipFile.open(zip_path, 'w') do |zip|
|
180
182
|
Dir["#{path}/**/**"].reject{|f|f==zip_path}.each do |file|
|
data/lib/runtime/engine.rb
CHANGED
@@ -31,7 +31,7 @@ module Factor
|
|
31
31
|
require filename
|
32
32
|
channel_module_name = File.basename(filename).gsub('.rb','').split('_').map{|ea| ea.capitalize}.join('')
|
33
33
|
channel_module= self.class.const_get(channel_module_name)
|
34
|
-
@channel_modules[
|
34
|
+
@channel_modules[channel_module_name]=channel_module
|
35
35
|
end
|
36
36
|
|
37
37
|
def load_credentials credentials
|
@@ -54,6 +54,7 @@ module Factor
|
|
54
54
|
|
55
55
|
def launch workflow, params
|
56
56
|
instance_id=SecureRandom.hex
|
57
|
+
|
57
58
|
@message_bus.start do
|
58
59
|
message = Message.new
|
59
60
|
message.position << "start"
|
@@ -76,8 +77,8 @@ module Factor
|
|
76
77
|
if !activity.nil?
|
77
78
|
action = activity["action"]
|
78
79
|
channel = activity["channel"]
|
79
|
-
method = activity["method"]
|
80
80
|
target = activity["target"]
|
81
|
+
params_template = activity["params"]
|
81
82
|
|
82
83
|
|
83
84
|
if match(target)
|
@@ -87,13 +88,15 @@ module Factor
|
|
87
88
|
|
88
89
|
#puts "[activity-params] #{activity["params"]}"
|
89
90
|
#puts "[values] #{values}"
|
90
|
-
params = render_template(
|
91
|
-
|
91
|
+
params = render_template(params_template,values)
|
92
|
+
puts "[rendered params] #{params}"
|
92
93
|
|
93
|
-
event = call_channel_method(channel,
|
94
|
+
event = call_channel_method(channel,action,params)
|
94
95
|
|
96
|
+
# puts "event #{event.inspect}"
|
95
97
|
response_message = message.respond(event.params,event.class.name.split("::").last)
|
96
98
|
|
99
|
+
# puts "response #{response_message.inspect}"
|
97
100
|
|
98
101
|
@message_bus.send response_message
|
99
102
|
end
|
@@ -114,6 +117,7 @@ module Factor
|
|
114
117
|
def call_channel_method(channel_name,class_name,params)
|
115
118
|
channel_module = @channel_modules[channel_name]
|
116
119
|
command = channel_module.const_get(class_name)
|
120
|
+
puts "command: #{command.inspect}"
|
117
121
|
command.new.do_work(params)
|
118
122
|
end
|
119
123
|
|