pione 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +1 -0
  3. data/History.txt +7 -0
  4. data/example/DeferredChoice/DeferredChoice.pione +14 -7
  5. data/{misc → example/DeferredChoice/bin}/ui.xml +11 -6
  6. data/example/DeferredChoice/pione-package.json +1 -1
  7. data/example/DeferredChoiceWithPage/DeferredChoiceWithPage.pione +47 -0
  8. data/example/DeferredChoiceWithPage/etc/index.html +22 -0
  9. data/example/DeferredChoiceWithPage/pione-package.json +18 -0
  10. data/example/Interaction/Interaction.pione +27 -0
  11. data/example/Interaction/bin/show-environment.cgi +45 -0
  12. data/example/Interaction/etc/.hidden-file.txt +1 -0
  13. data/example/Interaction/etc/cgi.html +46 -0
  14. data/example/Interaction/etc/create-files.html +51 -0
  15. data/example/Interaction/etc/delete-files.html +31 -0
  16. data/example/Interaction/etc/get-files.html +21 -0
  17. data/example/Interaction/etc/index.html +18 -0
  18. data/example/Interaction/etc/list-files.html +36 -0
  19. data/example/Interaction/pione-package.json +24 -0
  20. data/lib/pione/agent/job-manager.rb +19 -3
  21. data/lib/pione/agent/logger.rb +9 -9
  22. data/lib/pione/agent/messenger.rb +3 -2
  23. data/lib/pione/agent/task-worker.rb +32 -10
  24. data/lib/pione/command/option.rb +18 -0
  25. data/lib/pione/command/pione-client.rb +51 -22
  26. data/lib/pione/command/pione-interactive.rb +128 -55
  27. data/lib/pione/command/pione-package-build.rb +3 -3
  28. data/lib/pione/command/pione-task-worker.rb +23 -10
  29. data/lib/pione/command/pione-tuple-space-provider.rb +8 -8
  30. data/lib/pione/command/spawner.rb +28 -1
  31. data/lib/pione/front/interactive-front.rb +76 -0
  32. data/lib/pione/global/interactive-variable.rb +26 -0
  33. data/lib/pione/log/message-log-receiver.rb +4 -2
  34. data/lib/pione/model/task-worker-broker-model.rb +7 -1
  35. data/lib/pione/package/package-archiver.rb +16 -9
  36. data/lib/pione/package/package-handler.rb +6 -0
  37. data/lib/pione/package/package-info.rb +4 -0
  38. data/lib/pione/package/package-reader.rb +2 -4
  39. data/lib/pione/package/package-scanner.rb +23 -3
  40. data/lib/pione/rule-engine.rb +48 -19
  41. data/lib/pione/rule-engine/action-handler.rb +29 -5
  42. data/lib/pione/rule-engine/basic-handler.rb +27 -19
  43. data/lib/pione/test-helper/command-helper.rb +1 -1
  44. data/lib/pione/tuple-space/tuple-definition.yml +2 -3
  45. data/lib/pione/tuple-space/tuple-space-server.rb +8 -0
  46. data/lib/pione/util/cgi.rb +326 -0
  47. data/lib/pione/version.rb +1 -1
  48. data/lib/rootage/normalizer.rb +4 -0
  49. data/lib/rootage/option.rb +11 -4
  50. data/test/agent/spec_logger.rb +0 -1
  51. data/test/agent/spec_messenger.rb +1 -1
  52. data/test/command/spec_pione-client.rb +4 -4
  53. data/test/log/spec_message-log.rb +1 -1
  54. data/test/rule-engine/spec_action-handler.rb +25 -5
  55. data/test/rule-engine/spec_empty-handler.rb +36 -3
  56. data/test/rule-engine/spec_flow-handler.rb +90 -7
  57. metadata +22 -72
  58. data/misc/test-drb-stop-service.rb +0 -34
  59. data/misc/test-many-waiters-client.rb +0 -56
  60. data/misc/test-many-waiters-server.rb +0 -14
@@ -1,4 +1,4 @@
1
1
  module Pione
2
2
  # version of pione
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
@@ -23,6 +23,10 @@ module Rootage
23
23
  # @return [Object]
24
24
  # the normalized value
25
25
  def normalize(type, val)
26
+ if type.nil?
27
+ raise ArgumentError.new("Normalization type should not be nil.")
28
+ end
29
+
26
30
  if respond_to?(type, true)
27
31
  send(type, val)
28
32
  else
@@ -47,8 +47,13 @@ module Rootage
47
47
  # command object
48
48
  # @return [void]
49
49
  def setup(opt, cmd)
50
+ if not(arg.nil?) and type.nil?
51
+ raise OptionError.new(cmd, "Option type is undefined for the option " + inspect)
52
+ end
53
+
50
54
  # build OptionParser#on arguments
51
55
  args = [short_for_optparse, long_for_optparse, desc].compact
56
+
52
57
  # call #on with the argument
53
58
  opt.on(*args) {|val| specify(cmd, val)}
54
59
  end
@@ -79,13 +84,15 @@ module Rootage
79
84
  end
80
85
 
81
86
  # normalization
82
- _val = Normalizer.normalize(type, val)
87
+ if val
88
+ val = Normalizer.normalize(type, val)
89
+ end
83
90
 
84
- if range.nil? or range.include?(_val)
91
+ if range.nil? or range.include?(val)
85
92
  if processes.empty?
86
- cmd.model.specify(key, _val)
93
+ cmd.model.specify(key, val)
87
94
  else
88
- execute(cmd, _val)
95
+ execute(cmd, val)
89
96
  end
90
97
  else
91
98
  arg = {value: _val, range: range}
@@ -27,7 +27,6 @@ describe "Pione::Agent::Logger" do
27
27
 
28
28
  it "should get locations" do
29
29
  @logger.log_location.should == @location
30
- @logger.output_location.should == @location
31
30
  end
32
31
 
33
32
  it "should log messages" do
@@ -5,7 +5,7 @@ describe Pione::Agent::Messenger do
5
5
  @io = StringIO.new("", "w+")
6
6
  tuple_space = TestHelper::TupleSpace.create(self)
7
7
  receiver = Log::CUIMessageLogReceiver.new(@io)
8
- @messenger = Agent::Messenger.new(tuple_space, receiver)
8
+ @messenger = Agent::Messenger.new(tuple_space, receiver, "fake session id")
9
9
  end
10
10
 
11
11
  after do
@@ -13,7 +13,7 @@ TestHelper.scope do |this|
13
13
 
14
14
  it "should execute a PIONE document" do
15
15
  path = Temppath.create
16
- cmd = @cmd.new(["example/HelloWorld/HelloWorld.pione", "-o", path.to_s])
16
+ cmd = @cmd.new(["example/HelloWorld/HelloWorld.pione", "--base", path.to_s])
17
17
  res = Rootage::ScenarioTest.succeed(cmd)
18
18
  Location[path + "message.txt"].should.exist
19
19
  Location[path + "message.txt"].read.should.start_with "Hello, world!"
@@ -21,7 +21,7 @@ TestHelper.scope do |this|
21
21
 
22
22
  it "should execute a PIONE document with stand alone mode" do
23
23
  path = Temppath.create
24
- cmd = @cmd.new(["example/HelloWorld/HelloWorld.pione", "-o", path.to_s, "--stand-alone"])
24
+ cmd = @cmd.new(["example/HelloWorld/HelloWorld.pione", "--base", path.to_s, "--stand-alone"])
25
25
  Rootage::ScenarioTest.succeed(cmd)
26
26
  Location[path + "message.txt"].should.exist
27
27
  Location[path + "message.txt"].read.should.start_with "Hello, world!"
@@ -37,7 +37,7 @@ TestHelper.scope do |this|
37
37
 
38
38
  it "should execute a PIONE package with stand alone mode" do
39
39
  path = Temppath.create
40
- cmd = @cmd.new(["example/HelloWorld/", "-o", path.to_s, "--stand-alone"])
40
+ cmd = @cmd.new(["example/HelloWorld/", "--base", path.to_s, "--stand-alone"])
41
41
  Rootage::ScenarioTest.succeed(cmd)
42
42
  Location[path + "message.txt"].should.exist
43
43
  Location[path + "message.txt"].read.should.start_with "Hello, world!"
@@ -46,7 +46,7 @@ TestHelper.scope do |this|
46
46
  it "should fail with action error" do
47
47
  doc = (this::DIR + "ActionError.pione").path.to_s
48
48
  path = Temppath.create
49
- cmd = @cmd.new([doc, "-o", path.to_s, "--stand-alone"])
49
+ cmd = @cmd.new([doc, "--base", path.to_s, "--stand-alone"])
50
50
  Rootage::ScenarioTest.fail(cmd)
51
51
  end
52
52
 
@@ -16,7 +16,7 @@ TestHelper.scope do |this|
16
16
  tuple_space_server = TestHelper::TupleSpace.create(self)
17
17
  receiver = Log::CUIMessageLogReceiver.new(@io)
18
18
  @ts = tuple_space_server
19
- @messenger = Agent::Messenger.new(tuple_space_server, receiver)
19
+ @messenger = Agent::Messenger.new(tuple_space_server, receiver, "fake session id")
20
20
  @sender = TestSender.new(@ts)
21
21
  end
22
22
 
@@ -40,9 +40,19 @@ TestHelper.scope do |this|
40
40
  tuple_b.domain = domain_id
41
41
  inputs.each {|t| write(t) }
42
42
 
43
- @handler_sh1 = RuleEngine.make(@ts, env, package_id, 'Shell1', inputs, param_set, domain_id, 'root')
44
- @handler_sh2 = RuleEngine.make(@ts, env, package_id, 'Shell2', inputs, param_set, domain_id, 'root')
45
- @handler_ruby = RuleEngine.make(@ts, env, package_id, 'Ruby', inputs, param_set, domain_id, 'root')
43
+ engine_param = {
44
+ :tuple_space => @ts,
45
+ :env => env,
46
+ :package_id => package_id,
47
+ :inputs => inputs,
48
+ :param_set => param_set,
49
+ :domain_id => domain_id,
50
+ :caller_id => 'root'
51
+ }
52
+
53
+ @handler_sh1 = RuleEngine.make(engine_param.merge(rule_name: 'Shell1'))
54
+ @handler_sh2 = RuleEngine.make(engine_param.merge(rule_name: 'Shell2'))
55
+ @handler_ruby = RuleEngine.make(engine_param.merge(rule_name: 'Ruby'))
46
56
  end
47
57
 
48
58
  after do
@@ -130,8 +140,18 @@ TestHelper.scope do |this|
130
140
  tuple_a.domain = domain_id
131
141
  inputs.each {|t| write(t) }
132
142
 
133
- @handler1 = RuleEngine.make(@ts, env, package_id, 'R1', inputs, param_set, domain_id, 'root')
134
- @handler2 = RuleEngine.make(@ts, env, package_id, 'R2', inputs, param_set, domain_id, 'root')
143
+ engine_param = {
144
+ :tuple_space => @ts,
145
+ :env => env,
146
+ :package_id => package_id,
147
+ :inputs => inputs,
148
+ :param_set => param_set,
149
+ :domain_id => domain_id,
150
+ :caller_id => 'root'
151
+ }
152
+
153
+ @handler1 = RuleEngine.make(engine_param.merge(rule_name: 'R1'))
154
+ @handler2 = RuleEngine.make(engine_param.merge(rule_name: 'R2'))
135
155
  end
136
156
 
137
157
  after do
@@ -43,7 +43,18 @@ describe 'Pione::RuleHandler::EmptyHandler' do
43
43
 
44
44
  write(@tuple_a)
45
45
 
46
- @handler = RuleEngine.make(@space, env, package_id, 'TestTouch', @inputs, param_set, domain_id, 'root')
46
+ engine_param = {
47
+ :tuple_space => @space,
48
+ :env => env,
49
+ :package_id => package_id,
50
+ :rule_name => 'TestTouch',
51
+ :inputs => @inputs,
52
+ :param_set => param_set,
53
+ :domain_id => domain_id,
54
+ :caller_id => 'root'
55
+ }
56
+
57
+ @handler = RuleEngine.make(engine_param)
47
58
  end
48
59
 
49
60
  after do
@@ -96,7 +107,18 @@ describe 'Pione::RuleHandler::EmptyHandler' do
96
107
  write(@tuple_a)
97
108
  write(@tuple_b)
98
109
 
99
- @handler = RuleEngine.make(@space, env, package_id, 'TestTouch', @inputs, param_set, domain_id, 'root')
110
+ engine_param = {
111
+ :tuple_space => @space,
112
+ :env => env,
113
+ :package_id => package_id,
114
+ :rule_name => 'TestTouch',
115
+ :inputs => @inputs,
116
+ :param_set => param_set,
117
+ :domain_id => domain_id,
118
+ :caller_id => 'root'
119
+ }
120
+
121
+ @handler = RuleEngine.make(engine_param)
100
122
  end
101
123
 
102
124
  after do
@@ -148,7 +170,18 @@ describe 'Pione::RuleHandler::EmptyHandler' do
148
170
  write(@tuple_a)
149
171
  write(@tuple_b)
150
172
 
151
- @handler = RuleEngine.make(@space, env, package_id, 'TestRemove', @inputs, param_set, domain_id, 'root')
173
+ engine_param = {
174
+ :tuple_space => @space,
175
+ :env => env,
176
+ :package_id => package_id,
177
+ :rule_name => 'TestRemove',
178
+ :inputs => @inputs,
179
+ :param_set => param_set,
180
+ :domain_id => domain_id,
181
+ :caller_id => 'root'
182
+ }
183
+
184
+ @handler = RuleEngine.make(engine_param)
152
185
  end
153
186
 
154
187
  after do
@@ -30,7 +30,18 @@ describe 'Pione::RuleHandler::FlowRule' do
30
30
  tuple_b.domain = domain_id
31
31
  inputs.each {|t| write(t) }
32
32
 
33
- @handler = RuleEngine.make(@ts, env, @package_id, @rule_name, inputs, param_set, domain_id, 'root')
33
+ engine_param = {
34
+ :tuple_space => @ts,
35
+ :env => env,
36
+ :package_id => @package_id,
37
+ :rule_name => @rule_name,
38
+ :inputs => inputs,
39
+ :param_set => param_set,
40
+ :domain_id => domain_id,
41
+ :caller_id => 'root'
42
+ }
43
+
44
+ @handler = RuleEngine.make(engine_param)
34
45
  end
35
46
 
36
47
  after do
@@ -103,7 +114,19 @@ describe 'Pione::RuleHandler::FlowRule' do
103
114
  it "should unify redundant tasks" do
104
115
  param_set = Lang::ParameterSet.new
105
116
  domain_id = Util::DomainID.generate('Unification', 'R1', [], param_set)
106
- handler = RuleEngine.make(@space, @env, 'Unification', 'R1', [], param_set, domain_id, 'root')
117
+
118
+ engine_param = {
119
+ :tuple_space => @space,
120
+ :env => @env,
121
+ :package_id => 'Unification',
122
+ :rule_name => 'R1',
123
+ :inputs => [],
124
+ :param_set => param_set,
125
+ :domain_id => domain_id,
126
+ :caller_id => 'root'
127
+ }
128
+
129
+ handler = RuleEngine.make(engine_param)
107
130
 
108
131
  # start the handler
109
132
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
@@ -170,7 +193,19 @@ describe 'Pione::RuleHandler::FlowRule' do
170
193
  it "should execute a flow" do
171
194
  param_set = Lang::ParameterSet.new(table: {"F" => Lang::BooleanSequence.of("true")})
172
195
  domain_id = Util::DomainID.generate(@env.current_package_id, 'Main', [], param_set)
173
- handler = RuleEngine.make(@space, @env, @env.current_package_id, 'Main', [], param_set, domain_id, 'root')
196
+
197
+ engine_param = {
198
+ :tuple_space => @space,
199
+ :env => @env,
200
+ :package_id => @env.current_package_id,
201
+ :rule_name => 'Main',
202
+ :inputs => [],
203
+ :param_set => param_set,
204
+ :domain_id => domain_id,
205
+ :caller_id => 'root'
206
+ }
207
+
208
+ handler = RuleEngine.make(engine_param)
174
209
 
175
210
  # start the handler
176
211
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
@@ -232,7 +267,19 @@ describe 'Pione::RuleHandler::FlowRule' do
232
267
  it "should override parent rule by child" do
233
268
  param_set = Lang::ParameterSet.new
234
269
  domain_id = Util::DomainID.generate('Child', 'R1', [], param_set)
235
- handler = RuleEngine.make(@space, @env, 'Child', 'R1', [], param_set, domain_id, 'root')
270
+
271
+ engine_param = {
272
+ :tuple_space => @space,
273
+ :env => @env,
274
+ :package_id => 'Child',
275
+ :rule_name => 'R1',
276
+ :inputs => [],
277
+ :param_set => param_set,
278
+ :domain_id => domain_id,
279
+ :caller_id => 'root'
280
+ }
281
+
282
+ handler = RuleEngine.make(engine_param)
236
283
 
237
284
  # start the handler
238
285
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
@@ -289,7 +336,19 @@ describe 'Pione::RuleHandler::FlowRule' do
289
336
  it "should get concrete rule" do
290
337
  param_set = Lang::ParameterSet.new
291
338
  domain_id = Util::DomainID.generate('Concrete', 'R1', [], param_set)
292
- handler = RuleEngine.make(@space, @env, 'Concrete', 'R1', [], param_set, domain_id, 'root')
339
+
340
+ engine_param = {
341
+ :tuple_space => @space,
342
+ :env => @env,
343
+ :package_id => 'Concrete',
344
+ :rule_name => 'R1',
345
+ :inputs => [],
346
+ :param_set => param_set,
347
+ :domain_id => domain_id,
348
+ :caller_id => 'root'
349
+ }
350
+
351
+ handler = RuleEngine.make(engine_param)
293
352
 
294
353
  # start the handler
295
354
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
@@ -340,7 +399,19 @@ describe 'Pione::RuleHandler::FlowRule' do
340
399
  it "should distribute tasks by parameter" do
341
400
  param_set = Lang::ParameterSet.new
342
401
  domain_id = Util::DomainID.generate(@env.current_package_id, 'R1', [], param_set)
343
- handler = RuleEngine.make(@space, @env, @env.current_package_id, 'R1', [], param_set, domain_id, 'root')
402
+
403
+ engine_param = {
404
+ :tuple_space => @space,
405
+ :env => @env,
406
+ :package_id => @env.current_package_id,
407
+ :rule_name => 'R1',
408
+ :inputs => [],
409
+ :param_set => param_set,
410
+ :domain_id => domain_id,
411
+ :caller_id => 'root'
412
+ }
413
+
414
+ handler = RuleEngine.make(engine_param)
344
415
 
345
416
  # start the handler
346
417
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
@@ -395,7 +466,19 @@ describe 'Pione::RuleHandler::FlowRule' do
395
466
  it "should make recursion by using parameter" do
396
467
  param_set = Lang::ParameterSet.new
397
468
  domain_id = Util::DomainID.generate(@env.current_package_id, 'R1', [], param_set)
398
- handler = RuleEngine.make(@space, @env, @env.current_package_id, 'R1', [], param_set, domain_id, 'root')
469
+
470
+ engine_param = {
471
+ :tuple_space => @space,
472
+ :env => @env,
473
+ :package_id => @env.current_package_id,
474
+ :rule_name => 'R1',
475
+ :inputs => [],
476
+ :param_set => param_set,
477
+ :domain_id => domain_id,
478
+ :caller_id => 'root'
479
+ }
480
+
481
+ handler = RuleEngine.make(engine_param)
399
482
 
400
483
  # start the handler
401
484
  thread = Thread.new { Thread.current[:outputs] = handler.execute }
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pione
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.4.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Keita Yamaguchi
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-16 00:00:00.000000000 Z
11
+ date: 2014-08-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: parslet
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: uuidtools
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: highline
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: hamster
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: naming
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: forwardablex
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: temppath
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: ruby-xes
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: sys-uname
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: simple-identity
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rainbow
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :runtime
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: sys-cpu
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ~>
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :runtime
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ~>
204
179
  - !ruby/object:Gem::Version
@@ -206,7 +181,6 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: structx
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
185
  - - ~>
212
186
  - !ruby/object:Gem::Version
@@ -214,7 +188,6 @@ dependencies:
214
188
  type: :runtime
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
192
  - - ~>
220
193
  - !ruby/object:Gem::Version
@@ -222,7 +195,6 @@ dependencies:
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: syslog-logger
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ~>
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :runtime
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ~>
236
207
  - !ruby/object:Gem::Version
@@ -238,7 +209,6 @@ dependencies:
238
209
  - !ruby/object:Gem::Dependency
239
210
  name: retriable
240
211
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
212
  requirements:
243
213
  - - ~>
244
214
  - !ruby/object:Gem::Version
@@ -246,7 +216,6 @@ dependencies:
246
216
  type: :runtime
247
217
  prerelease: false
248
218
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
219
  requirements:
251
220
  - - ~>
252
221
  - !ruby/object:Gem::Version
@@ -254,7 +223,6 @@ dependencies:
254
223
  - !ruby/object:Gem::Dependency
255
224
  name: childprocess
256
225
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
226
  requirements:
259
227
  - - ~>
260
228
  - !ruby/object:Gem::Version
@@ -262,7 +230,6 @@ dependencies:
262
230
  type: :runtime
263
231
  prerelease: false
264
232
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
233
  requirements:
267
234
  - - ~>
268
235
  - !ruby/object:Gem::Version
@@ -270,7 +237,6 @@ dependencies:
270
237
  - !ruby/object:Gem::Dependency
271
238
  name: lettercase
272
239
  requirement: !ruby/object:Gem::Requirement
273
- none: false
274
240
  requirements:
275
241
  - - ~>
276
242
  - !ruby/object:Gem::Version
@@ -278,7 +244,6 @@ dependencies:
278
244
  type: :runtime
279
245
  prerelease: false
280
246
  version_requirements: !ruby/object:Gem::Requirement
281
- none: false
282
247
  requirements:
283
248
  - - ~>
284
249
  - !ruby/object:Gem::Version
@@ -286,7 +251,6 @@ dependencies:
286
251
  - !ruby/object:Gem::Dependency
287
252
  name: rubyzip
288
253
  requirement: !ruby/object:Gem::Requirement
289
- none: false
290
254
  requirements:
291
255
  - - ~>
292
256
  - !ruby/object:Gem::Version
@@ -294,7 +258,6 @@ dependencies:
294
258
  type: :runtime
295
259
  prerelease: false
296
260
  version_requirements: !ruby/object:Gem::Requirement
297
- none: false
298
261
  requirements:
299
262
  - - ~>
300
263
  - !ruby/object:Gem::Version
@@ -302,7 +265,6 @@ dependencies:
302
265
  - !ruby/object:Gem::Dependency
303
266
  name: kramdown
304
267
  requirement: !ruby/object:Gem::Requirement
305
- none: false
306
268
  requirements:
307
269
  - - ~>
308
270
  - !ruby/object:Gem::Version
@@ -310,7 +272,6 @@ dependencies:
310
272
  type: :runtime
311
273
  prerelease: false
312
274
  version_requirements: !ruby/object:Gem::Requirement
313
- none: false
314
275
  requirements:
315
276
  - - ~>
316
277
  - !ruby/object:Gem::Version
@@ -318,7 +279,6 @@ dependencies:
318
279
  - !ruby/object:Gem::Dependency
319
280
  name: os
320
281
  requirement: !ruby/object:Gem::Requirement
321
- none: false
322
282
  requirements:
323
283
  - - ~>
324
284
  - !ruby/object:Gem::Version
@@ -326,7 +286,6 @@ dependencies:
326
286
  type: :runtime
327
287
  prerelease: false
328
288
  version_requirements: !ruby/object:Gem::Requirement
329
- none: false
330
289
  requirements:
331
290
  - - ~>
332
291
  - !ruby/object:Gem::Version
@@ -334,7 +293,6 @@ dependencies:
334
293
  - !ruby/object:Gem::Dependency
335
294
  name: sys-proctable
336
295
  requirement: !ruby/object:Gem::Requirement
337
- none: false
338
296
  requirements:
339
297
  - - ~>
340
298
  - !ruby/object:Gem::Version
@@ -342,7 +300,6 @@ dependencies:
342
300
  type: :runtime
343
301
  prerelease: false
344
302
  version_requirements: !ruby/object:Gem::Requirement
345
- none: false
346
303
  requirements:
347
304
  - - ~>
348
305
  - !ruby/object:Gem::Version
@@ -350,7 +307,6 @@ dependencies:
350
307
  - !ruby/object:Gem::Dependency
351
308
  name: dropbox-sdk
352
309
  requirement: !ruby/object:Gem::Requirement
353
- none: false
354
310
  requirements:
355
311
  - - ~>
356
312
  - !ruby/object:Gem::Version
@@ -358,7 +314,6 @@ dependencies:
358
314
  type: :runtime
359
315
  prerelease: false
360
316
  version_requirements: !ruby/object:Gem::Requirement
361
- none: false
362
317
  requirements:
363
318
  - - ~>
364
319
  - !ruby/object:Gem::Version
@@ -366,7 +321,6 @@ dependencies:
366
321
  - !ruby/object:Gem::Dependency
367
322
  name: em-ftpd
368
323
  requirement: !ruby/object:Gem::Requirement
369
- none: false
370
324
  requirements:
371
325
  - - ~>
372
326
  - !ruby/object:Gem::Version
@@ -374,7 +328,6 @@ dependencies:
374
328
  type: :runtime
375
329
  prerelease: false
376
330
  version_requirements: !ruby/object:Gem::Requirement
377
- none: false
378
331
  requirements:
379
332
  - - ~>
380
333
  - !ruby/object:Gem::Version
@@ -382,7 +335,6 @@ dependencies:
382
335
  - !ruby/object:Gem::Dependency
383
336
  name: bacon
384
337
  requirement: !ruby/object:Gem::Requirement
385
- none: false
386
338
  requirements:
387
339
  - - ~>
388
340
  - !ruby/object:Gem::Version
@@ -390,7 +342,6 @@ dependencies:
390
342
  type: :development
391
343
  prerelease: false
392
344
  version_requirements: !ruby/object:Gem::Requirement
393
- none: false
394
345
  requirements:
395
346
  - - ~>
396
347
  - !ruby/object:Gem::Version
@@ -398,7 +349,6 @@ dependencies:
398
349
  - !ruby/object:Gem::Dependency
399
350
  name: rake
400
351
  requirement: !ruby/object:Gem::Requirement
401
- none: false
402
352
  requirements:
403
353
  - - ! '>='
404
354
  - !ruby/object:Gem::Version
@@ -406,7 +356,6 @@ dependencies:
406
356
  type: :development
407
357
  prerelease: false
408
358
  version_requirements: !ruby/object:Gem::Requirement
409
- none: false
410
359
  requirements:
411
360
  - - ! '>='
412
361
  - !ruby/object:Gem::Version
@@ -414,7 +363,6 @@ dependencies:
414
363
  - !ruby/object:Gem::Dependency
415
364
  name: bundler
416
365
  requirement: !ruby/object:Gem::Requirement
417
- none: false
418
366
  requirements:
419
367
  - - ! '>='
420
368
  - !ruby/object:Gem::Version
@@ -422,7 +370,6 @@ dependencies:
422
370
  type: :development
423
371
  prerelease: false
424
372
  version_requirements: !ruby/object:Gem::Requirement
425
- none: false
426
373
  requirements:
427
374
  - - ! '>='
428
375
  - !ruby/object:Gem::Version
@@ -430,7 +377,6 @@ dependencies:
430
377
  - !ruby/object:Gem::Dependency
431
378
  name: yard
432
379
  requirement: !ruby/object:Gem::Requirement
433
- none: false
434
380
  requirements:
435
381
  - - ! '>='
436
382
  - !ruby/object:Gem::Version
@@ -438,7 +384,6 @@ dependencies:
438
384
  type: :development
439
385
  prerelease: false
440
386
  version_requirements: !ruby/object:Gem::Requirement
441
- none: false
442
387
  requirements:
443
388
  - - ! '>='
444
389
  - !ruby/object:Gem::Version
@@ -446,7 +391,6 @@ dependencies:
446
391
  - !ruby/object:Gem::Dependency
447
392
  name: redcarpet
448
393
  requirement: !ruby/object:Gem::Requirement
449
- none: false
450
394
  requirements:
451
395
  - - ! '>='
452
396
  - !ruby/object:Gem::Version
@@ -454,7 +398,6 @@ dependencies:
454
398
  type: :development
455
399
  prerelease: false
456
400
  version_requirements: !ruby/object:Gem::Requirement
457
- none: false
458
401
  requirements:
459
402
  - - ! '>='
460
403
  - !ruby/object:Gem::Version
@@ -462,7 +405,6 @@ dependencies:
462
405
  - !ruby/object:Gem::Dependency
463
406
  name: ruby-prof
464
407
  requirement: !ruby/object:Gem::Requirement
465
- none: false
466
408
  requirements:
467
409
  - - ! '>='
468
410
  - !ruby/object:Gem::Version
@@ -470,7 +412,6 @@ dependencies:
470
412
  type: :development
471
413
  prerelease: false
472
414
  version_requirements: !ruby/object:Gem::Requirement
473
- none: false
474
415
  requirements:
475
416
  - - ! '>='
476
417
  - !ruby/object:Gem::Version
@@ -549,7 +490,11 @@ files:
549
490
  - example/CountChar/text/saikonihonno_josei.txt
550
491
  - example/CountChar/text/taishojugonenno_bundan.txt
551
492
  - example/DeferredChoice/DeferredChoice.pione
493
+ - example/DeferredChoice/bin/ui.xml
552
494
  - example/DeferredChoice/pione-package.json
495
+ - example/DeferredChoiceWithPage/DeferredChoiceWithPage.pione
496
+ - example/DeferredChoiceWithPage/etc/index.html
497
+ - example/DeferredChoiceWithPage/pione-package.json
553
498
  - example/FeatureExample/FeatureExample.pione
554
499
  - example/FeatureExample/pione-package.json
555
500
  - example/Fib/Fib.pione
@@ -558,6 +503,16 @@ files:
558
503
  - example/HelloWorld/scenario/Scenario.pione
559
504
  - example/HelloWorld/scenario/output/message.txt
560
505
  - example/HelloWorld/scenario/pione-scenario.json
506
+ - example/Interaction/Interaction.pione
507
+ - example/Interaction/bin/show-environment.cgi
508
+ - example/Interaction/etc/.hidden-file.txt
509
+ - example/Interaction/etc/cgi.html
510
+ - example/Interaction/etc/create-files.html
511
+ - example/Interaction/etc/delete-files.html
512
+ - example/Interaction/etc/get-files.html
513
+ - example/Interaction/etc/index.html
514
+ - example/Interaction/etc/list-files.html
515
+ - example/Interaction/pione-package.json
561
516
  - example/LoopByTouch/LoopByTouch.pione
562
517
  - example/LoopByTouch/PairLoop.pione
563
518
  - example/LoopByTouch/SingleLoop.pione
@@ -907,6 +862,7 @@ files:
907
862
  - lib/pione/front/client-front.rb
908
863
  - lib/pione/front/diagnosis-notification-front.rb
909
864
  - lib/pione/front/front-exception.rb
865
+ - lib/pione/front/interactive-front.rb
910
866
  - lib/pione/front/notification-listener-front.rb
911
867
  - lib/pione/front/notification-recipient-interface.rb
912
868
  - lib/pione/front/relay-front.rb
@@ -919,6 +875,7 @@ files:
919
875
  - lib/pione/global/diagnosis-variable.rb
920
876
  - lib/pione/global/global-exception.rb
921
877
  - lib/pione/global/input-generator-variable.rb
878
+ - lib/pione/global/interactive-variable.rb
922
879
  - lib/pione/global/item.rb
923
880
  - lib/pione/global/log-variable.rb
924
881
  - lib/pione/global/network-variable.rb
@@ -1102,6 +1059,7 @@ files:
1102
1059
  - lib/pione/util.rb
1103
1060
  - lib/pione/util/backslash-notation.rb
1104
1061
  - lib/pione/util/boolean-value.rb
1062
+ - lib/pione/util/cgi.rb
1105
1063
  - lib/pione/util/completion.rb
1106
1064
  - lib/pione/util/cpu.rb
1107
1065
  - lib/pione/util/digest.rb
@@ -1153,11 +1111,7 @@ files:
1153
1111
  - misc/pione-completion.erb
1154
1112
  - misc/pione-completion.zsh
1155
1113
  - misc/pione.god
1156
- - misc/test-drb-stop-service.rb
1157
1114
  - misc/test-ensure-and-thread-kill.rb
1158
- - misc/test-many-waiters-client.rb
1159
- - misc/test-many-waiters-server.rb
1160
- - misc/ui.xml
1161
1115
  - misc/write_and_take_test.png
1162
1116
  - misc/write_and_take_test.rb
1163
1117
  - pione.gemspec
@@ -1478,30 +1432,26 @@ files:
1478
1432
  homepage: http://pione.github.com/
1479
1433
  licenses:
1480
1434
  - MIT
1435
+ metadata: {}
1481
1436
  post_install_message:
1482
1437
  rdoc_options: []
1483
1438
  require_paths:
1484
1439
  - lib
1485
1440
  required_ruby_version: !ruby/object:Gem::Requirement
1486
- none: false
1487
1441
  requirements:
1488
1442
  - - ! '>='
1489
1443
  - !ruby/object:Gem::Version
1490
1444
  version: 1.9.3
1491
1445
  required_rubygems_version: !ruby/object:Gem::Requirement
1492
- none: false
1493
1446
  requirements:
1494
1447
  - - ! '>='
1495
1448
  - !ruby/object:Gem::Version
1496
1449
  version: '0'
1497
- segments:
1498
- - 0
1499
- hash: -724698504927199590
1500
1450
  requirements: []
1501
1451
  rubyforge_project:
1502
- rubygems_version: 1.8.25
1452
+ rubygems_version: 2.1.11
1503
1453
  signing_key:
1504
- specification_version: 3
1454
+ specification_version: 4
1505
1455
  summary: rule-based workflow engine
1506
1456
  test_files:
1507
1457
  - lib/pione/test-helper.rb