ruote-kit 2.1.4.1 → 2.1.7
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/.gitignore +1 -2
- data/Gemfile +10 -1
- data/README.rdoc +53 -10
- data/Rakefile +17 -5
- data/config.ru +15 -1
- data/lib/ruote-kit/application.rb +10 -5
- data/lib/ruote-kit/configuration.rb +34 -3
- data/lib/ruote-kit/helpers/engine_helpers.rb +3 -3
- data/lib/ruote-kit/helpers/render_helpers.rb +10 -1
- data/lib/ruote-kit/resources/processes.rb +10 -4
- data/lib/ruote-kit/resources/workitems.rb +6 -4
- data/lib/ruote-kit/spec/ruote_helpers.rb +3 -3
- data/lib/ruote-kit/version.rb +11 -0
- data/lib/ruote-kit/views/expression.html.haml +1 -1
- data/lib/ruote-kit/views/expressions.html.haml +1 -1
- data/lib/ruote-kit/views/process.html.haml +1 -1
- data/lib/ruote-kit/views/process_failed_to_launch.html.haml +7 -0
- data/lib/ruote-kit/views/process_launched.html.haml +6 -0
- data/lib/ruote-kit.rb +21 -9
- data/ruote-kit.gemspec +32 -27
- data/spec/helpers/render_helpers_spec.rb +5 -2
- data/spec/resources/expressions_spec.rb +8 -4
- data/spec/resources/index_spec.rb +4 -2
- data/spec/resources/processes_spec.rb +37 -11
- data/spec/resources/workitems_spec.rb +12 -5
- data/spec/ruote-kit_configure_spec.rb +100 -0
- data/spec/spec_helper.rb +15 -9
- data/spec/views/expressions.html.haml_spec.rb +31 -0
- data/spec/views/launch_process.html.haml_spec.rb +2 -1
- data/spec/views/process.html.haml_spec.rb +2 -1
- data/spec/views/process_launched.html.haml_spec.rb +16 -0
- data/spec/views/processes.html.haml_spec.rb +2 -1
- data/spec/views/workitems.html.haml_spec.rb +3 -2
- metadata +58 -25
- data/lib/ruote-kit/vendor/sinatra-respond_to/LICENSE +0 -21
- data/lib/ruote-kit/vendor/sinatra-respond_to/README.markdown +0 -102
- data/lib/ruote-kit/vendor/sinatra-respond_to/Rakefile +0 -30
- data/lib/ruote-kit/vendor/sinatra-respond_to/VERSION.yml +0 -4
- data/lib/ruote-kit/vendor/sinatra-respond_to/lib/sinatra/respond_to.rb +0 -206
- data/lib/ruote-kit/vendor/sinatra-respond_to/sinatra-respond_to.gemspec +0 -56
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static folder/.keep +0 -0
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static.txt +0 -1
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/test_app.rb +0 -53
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/unreachable_static.txt +0 -1
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/layout.html.haml +0 -2
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.html.haml +0 -1
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.js.erb +0 -3
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.xml.builder +0 -3
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/extension_spec.rb +0 -403
- data/lib/ruote-kit/vendor/sinatra-respond_to/spec/spec_helper.rb +0 -18
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,10 +1,19 @@
|
|
1
1
|
# Dependencies for ruote-kit
|
2
|
+
source :gemcutter
|
2
3
|
|
3
4
|
# ruote-kit itself
|
5
|
+
gem 'bundler'
|
4
6
|
gem 'sinatra'
|
7
|
+
gem 'sinatra-respond_to'
|
5
8
|
gem 'haml'
|
6
9
|
gem 'json'
|
7
10
|
|
8
11
|
# ruote
|
9
12
|
#gem 'ruote', :git => "git://github.com/kennethkalmer/ruote", :branch => "ruote-kit"
|
10
|
-
gem 'ruote', '>= 2.1.
|
13
|
+
gem 'ruote', '>= 2.1.6'
|
14
|
+
|
15
|
+
# Testing environment requirements
|
16
|
+
group :test do
|
17
|
+
gem 'rspec'
|
18
|
+
gem 'jeweler'
|
19
|
+
end
|
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= ruote-kit (RESTful
|
1
|
+
= ruote-kit (RESTful ruote & middleware)
|
2
2
|
|
3
3
|
* http://kit.rubyforge.org/ruote (soon)
|
4
4
|
* http://kit.rubyforge.org/ruote/rdoc (soon)
|
@@ -20,8 +20,9 @@ coming weeks (albeit for the better).
|
|
20
20
|
|
21
21
|
Dependencies you currently need is:
|
22
22
|
|
23
|
-
* bundler (gem install bundler)
|
23
|
+
* bundler 0.9.5 or later (gem install bundler)
|
24
24
|
* sinatra
|
25
|
+
* sinatra-respond_to
|
25
26
|
* haml
|
26
27
|
* json
|
27
28
|
* rspec (only to run the specs)
|
@@ -29,10 +30,11 @@ Dependencies you currently need is:
|
|
29
30
|
ruote-kit uses bundler to setup and maintain its environment. Before running
|
30
31
|
ruote-kit for the first time you need to install bundler and then run:
|
31
32
|
|
32
|
-
$
|
33
|
+
$ bundle install
|
33
34
|
|
34
|
-
Bundler will download all the required gems and
|
35
|
-
|
35
|
+
Bundler will download all the required gems and install them for you. To
|
36
|
+
bundle the gems you can simply run 'bundle lock' and all the gems will be
|
37
|
+
unpacked in .bundle
|
36
38
|
|
37
39
|
== Getting started quickly
|
38
40
|
|
@@ -52,16 +54,25 @@ Example:
|
|
52
54
|
|
53
55
|
RuoteKit.configure do |config|
|
54
56
|
# make changes if needed
|
57
|
+
# Register participants if needed
|
58
|
+
config.register do
|
59
|
+
participant :toto do |wi|
|
60
|
+
# ...
|
61
|
+
end
|
62
|
+
# register the catchall participant if needed
|
63
|
+
require 'ruote/part/storage_participant'
|
64
|
+
catchall Ruote::StorageParticipant
|
65
|
+
end
|
55
66
|
end
|
56
67
|
|
57
|
-
# Register participants if needed
|
58
|
-
RuoteKit.engine.register_participant :toto do |wi|
|
59
|
-
#
|
60
|
-
end
|
61
68
|
|
62
69
|
# Slot into the stack
|
63
70
|
use RuoteKit::Application
|
64
71
|
|
72
|
+
=== Notes for Rails
|
73
|
+
|
74
|
+
See http://github.com/tosch/ruote-on-rails for an example Rails app.
|
75
|
+
|
65
76
|
== Configuring ruote-kit & ruote
|
66
77
|
|
67
78
|
ruote-kit can be configured using RuoteKit#configure, after which it will start
|
@@ -71,6 +82,38 @@ Without any configuration ruote-kit will use file system persistence, and save
|
|
71
82
|
the work in a sub-folder of the current working directory named +work_<env>+,
|
72
83
|
where +env+ is the RACK_ENV or RAILS_ENV.
|
73
84
|
|
85
|
+
=== Registration of participants
|
86
|
+
|
87
|
+
ruote participants may be registered within the block given to
|
88
|
+
RuoteKit#configure by the RuoteKit::Configuration#register method. It expects a
|
89
|
+
block containing of +participant+ and one or less +catchall+ calls (see example
|
90
|
+
above).
|
91
|
+
|
92
|
+
Note that all +participant+ calls after a +catchall+ one are pretty useless:
|
93
|
+
The catchall will eat all their cookies.
|
94
|
+
|
95
|
+
== The +workitems+ resource
|
96
|
+
|
97
|
+
The +workitems+ resource relies on the Ruote::StorageParticipant. You'll have to
|
98
|
+
register at least one Storage Participant if you ever want to see a workitem in
|
99
|
+
the resource. Example:
|
100
|
+
|
101
|
+
require 'ruote/part/storage_participant'
|
102
|
+
RuoteKit.engine.register_participant :storage, Ruote::StorageParticipant
|
103
|
+
|
104
|
+
You may also use the catchall participant provided by RuoteKit. It's named '.+',
|
105
|
+
so it will catch all workitems for any participant mentioned in your workflow
|
106
|
+
definitions which are not already caught by another (previously) registered
|
107
|
+
participant. So make sure to register the catchall after your own participants.
|
108
|
+
The catchall participant may be registered by calling
|
109
|
+
|
110
|
+
catchall
|
111
|
+
|
112
|
+
within the block given to RuoteKit::Configuration#register (this will use
|
113
|
+
Ruote::StorageParticipant as participant implementation, you may use any options
|
114
|
+
of Ruote::Engine#register_participant to overwrite that default -- see the
|
115
|
+
example above).
|
116
|
+
|
74
117
|
== Running workers
|
75
118
|
|
76
119
|
If you're using ruote-kit as part of your rack stack you'll need to start at
|
@@ -110,7 +153,7 @@ Please do not hesitate to come back with *any* feedback.
|
|
110
153
|
|
111
154
|
(The MIT License)
|
112
155
|
|
113
|
-
Copyright (c) 2009 Kenneth Kalmer (Internet Exchange CC, Clear Planet Information Solutions Pty Ltd)
|
156
|
+
Copyright (c) 2009-2010 Kenneth Kalmer (Internet Exchange CC, Clear Planet Information Solutions Pty Ltd)
|
114
157
|
|
115
158
|
Permission is hereby granted, free of charge, to any person obtaining
|
116
159
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,9 +1,17 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
1
|
|
4
|
-
require '
|
2
|
+
require 'rake/tasklib'
|
5
3
|
|
6
|
-
|
4
|
+
begin
|
5
|
+
# Try to require the preresolved locked set of gems.
|
6
|
+
require ::File.expand_path('.bundle/environment', __FILE__)
|
7
|
+
rescue LoadError
|
8
|
+
# Fall back on doing an unlocked resolve at runtime.
|
9
|
+
require "rubygems"
|
10
|
+
require "bundler"
|
11
|
+
Bundler.setup
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'lib/ruote-kit/version'
|
7
15
|
|
8
16
|
begin
|
9
17
|
require 'jeweler'
|
@@ -20,11 +28,15 @@ begin
|
|
20
28
|
gemspec.files.include 'lib/ruote-kit/public/**/*'
|
21
29
|
gemspec.executables.clear
|
22
30
|
|
31
|
+
gemspec.add_dependency 'bundler', '>=0.9.5'
|
23
32
|
gemspec.add_dependency 'sinatra', '>=0.9.4'
|
33
|
+
gemspec.add_dependency 'sinatra-respond_to', '>=0.4.0'
|
24
34
|
gemspec.add_dependency 'haml', '>= 2.2.5'
|
25
35
|
gemspec.add_dependency 'json'
|
26
|
-
gemspec.add_dependency 'ruote', '
|
36
|
+
gemspec.add_dependency 'ruote', '>= 2.1.7'
|
37
|
+
gemspec.add_development_dependency 'rake'
|
27
38
|
gemspec.add_development_dependency 'rspec'
|
39
|
+
gemspec.add_development_dependency 'jeweler'
|
28
40
|
end
|
29
41
|
Jeweler::GemcutterTasks.new
|
30
42
|
rescue LoadError
|
data/config.ru
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
|
1
|
+
begin
|
2
|
+
# Try to require the preresolved locked set of gems.
|
3
|
+
require ::File.expand_path('.bundle/environment', __FILE__)
|
4
|
+
rescue LoadError
|
5
|
+
# Fall back on doing an unlocked resolve at runtime.
|
6
|
+
require "rubygems"
|
7
|
+
require "bundler"
|
8
|
+
Bundler.setup
|
9
|
+
end
|
2
10
|
|
3
11
|
$:.unshift 'lib'
|
4
12
|
|
@@ -12,8 +20,14 @@ RuoteKit.configure do |config|
|
|
12
20
|
|
13
21
|
# run a worker
|
14
22
|
config.run_worker = true
|
23
|
+
|
24
|
+
register do
|
25
|
+
# With this rackup I bundle as catchall, making it easy to experiment
|
26
|
+
catchall
|
27
|
+
end
|
15
28
|
end
|
16
29
|
|
30
|
+
|
17
31
|
use Rack::CommonLogger
|
18
32
|
use Rack::Lint
|
19
33
|
use Rack::ShowExceptions
|
@@ -1,15 +1,17 @@
|
|
1
|
-
require '
|
1
|
+
require 'sinatra/respond_to'
|
2
2
|
require 'haml'
|
3
3
|
|
4
|
+
Sinatra::Application.register Sinatra::RespondTo
|
5
|
+
|
4
6
|
module RuoteKit
|
5
|
-
class Application < Sinatra::
|
7
|
+
class Application < Sinatra::Application
|
6
8
|
|
7
9
|
# Delay these a bit
|
8
10
|
configure do
|
9
11
|
# We want to support Rails
|
10
12
|
if defined?( Rails )
|
11
13
|
set :environment, Rails.env
|
12
|
-
disable :raise_errors
|
14
|
+
disable :raise_errors unless Rails.env == 'development'
|
13
15
|
end
|
14
16
|
|
15
17
|
RuoteKit.ensure_engine!
|
@@ -33,8 +35,11 @@ module RuoteKit
|
|
33
35
|
format :json if env["HTTP_ACCEPT"] && env["HTTP_ACCEPT"] == "application/json"
|
34
36
|
end
|
35
37
|
|
36
|
-
|
37
|
-
|
38
|
+
unless defined?( Rails )
|
39
|
+
# Handle 404's ourselves when not in Rails
|
40
|
+
not_found do
|
41
|
+
resource_not_found
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
45
|
get '/_ruote' do
|
@@ -2,6 +2,21 @@ module RuoteKit
|
|
2
2
|
# RuoteKit configuration handling
|
3
3
|
class Configuration
|
4
4
|
|
5
|
+
class ParticipantRegistrationProxy
|
6
|
+
def self.participant(*args, &block)
|
7
|
+
RuoteKit.engine.register_participant(*args, &block)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.catchall(*args, &block)
|
11
|
+
if(args.empty? and not block_given?)
|
12
|
+
require 'ruote/part/storage_participant'
|
13
|
+
participant('.+', Ruote::StorageParticipant)
|
14
|
+
else
|
15
|
+
participant('.+', *args, &block)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
5
20
|
# Working directory for the engine (if using file system persistence)
|
6
21
|
attr_accessor :work_directory
|
7
22
|
|
@@ -31,8 +46,20 @@ module RuoteKit
|
|
31
46
|
@mode = mode
|
32
47
|
end
|
33
48
|
|
49
|
+
# Sets a custom storage
|
50
|
+
def set_storage( klass, *args )
|
51
|
+
@storage = [ klass, args ]
|
52
|
+
@mode = :custom
|
53
|
+
end
|
54
|
+
|
34
55
|
# Return the best suited storage class for the current mode
|
35
56
|
def storage_instance
|
57
|
+
|
58
|
+
if @storage
|
59
|
+
klass, args = @storage
|
60
|
+
return klass.new( *args )
|
61
|
+
end
|
62
|
+
|
36
63
|
case mode
|
37
64
|
when :transient
|
38
65
|
require 'ruote/storage/hash_storage'
|
@@ -43,10 +70,14 @@ module RuoteKit
|
|
43
70
|
end
|
44
71
|
end
|
45
72
|
|
46
|
-
def
|
47
|
-
|
48
|
-
|
73
|
+
def register &block
|
74
|
+
@participant_registration_block = block
|
75
|
+
do_participant_registration
|
49
76
|
end
|
50
77
|
|
78
|
+
def do_participant_registration
|
79
|
+
return nil unless @participant_registration_block && RuoteKit.engine
|
80
|
+
ParticipantRegistrationProxy.instance_eval(&@participant_registration_block)
|
81
|
+
end
|
51
82
|
end
|
52
83
|
end
|
@@ -6,12 +6,12 @@ module RuoteKit
|
|
6
6
|
RuoteKit.engine
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
10
|
-
RuoteKit.
|
9
|
+
def storage_participant
|
10
|
+
RuoteKit.storage_participant
|
11
11
|
end
|
12
12
|
|
13
13
|
def find_workitems( wfid )
|
14
|
-
|
14
|
+
storage_participant.by_wfid( wfid )
|
15
15
|
end
|
16
16
|
|
17
17
|
def find_workitem( wfid, expid )
|
@@ -83,7 +83,16 @@ module RuoteKit
|
|
83
83
|
status 404
|
84
84
|
respond_to do |format|
|
85
85
|
format.html { haml :resource_not_found }
|
86
|
-
format.json { { "error" => { "code" =>
|
86
|
+
format.json { { "error" => { "code" => 404, "message" => "Resource not found" } }.to_json }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# Easy 503
|
91
|
+
def workitems_not_available
|
92
|
+
status 503
|
93
|
+
respond_to do |format|
|
94
|
+
format.html { haml :workitems_not_available }
|
95
|
+
format.json { { "error" => { "code" => 503, "messages" => "Workitems not available" } }.to_json }
|
87
96
|
end
|
88
97
|
end
|
89
98
|
|
@@ -29,11 +29,17 @@ class RuoteKit::Application
|
|
29
29
|
post "/_ruote/processes" do
|
30
30
|
launch_item = launch_item_from_post
|
31
31
|
|
32
|
-
@wfid = engine.launch( launch_item['pdef'], launch_item['fields'], launch_item['variables'] )
|
33
|
-
|
34
32
|
respond_to do |format|
|
35
|
-
|
36
|
-
|
33
|
+
begin
|
34
|
+
@wfid = engine.launch( launch_item['pdef'], launch_item['fields'], launch_item['variables'] )
|
35
|
+
rescue ArgumentError => @error
|
36
|
+
status 422
|
37
|
+
format.html { haml :process_failed_to_launch }
|
38
|
+
format.json { { "error" => { "code" => 422, "message" => @error.message } }.to_json }
|
39
|
+
else
|
40
|
+
format.html { haml :process_launched }
|
41
|
+
format.json { json( :launched, @wfid ) }
|
42
|
+
end
|
37
43
|
end
|
38
44
|
end
|
39
45
|
|
@@ -4,10 +4,10 @@ class RuoteKit::Application
|
|
4
4
|
if params[:participant]
|
5
5
|
@participants = params[:participant].split(',')
|
6
6
|
@workitems = @participants.inject([]) do |memo, part|
|
7
|
-
memo.concat
|
7
|
+
memo.concat storage_participant.by_participant( part )
|
8
8
|
end
|
9
9
|
else
|
10
|
-
@workitems =
|
10
|
+
@workitems = storage_participant.all
|
11
11
|
end
|
12
12
|
|
13
13
|
respond_to do |format|
|
@@ -42,15 +42,17 @@ class RuoteKit::Application
|
|
42
42
|
put "/_ruote/workitems/:wfid/:expid" do
|
43
43
|
workitem = find_workitem( params[:wfid], params[:expid] )
|
44
44
|
|
45
|
+
(resource_not_found and return) if workitem.nil?
|
46
|
+
|
45
47
|
options = field_updates_and_proceed_from_put
|
46
48
|
|
47
49
|
unless options[:fields].empty?
|
48
50
|
workitem.fields = options[:fields]
|
49
|
-
|
51
|
+
storage_participant.update( workitem )
|
50
52
|
end
|
51
53
|
|
52
54
|
if options[:proceed]
|
53
|
-
|
55
|
+
storage_participant.reply( workitem )
|
54
56
|
end
|
55
57
|
|
56
58
|
respond_to do |format|
|
@@ -30,12 +30,12 @@ module RuoteKit
|
|
30
30
|
RuoteKit.engine.context[:noisy] = on
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
RuoteKit.
|
33
|
+
def storage_participant
|
34
|
+
RuoteKit.storage_participant
|
35
35
|
end
|
36
36
|
|
37
37
|
def find_workitem( wfid, expid )
|
38
|
-
|
38
|
+
storage_participant.by_wfid( wfid ).detect { |wi| wi.fei.expid == expid }
|
39
39
|
end
|
40
40
|
|
41
41
|
def wait_for( wfid )
|
@@ -17,7 +17,7 @@
|
|
17
17
|
%span.description DELETE /_ruote/expressions/#{@expression.fei.wfid}/#{@expression.fei.expid}?_kill=1
|
18
18
|
|
19
19
|
%ul.nolist
|
20
|
-
%li
|
20
|
+
%li id: #{@expression.fei.expid}
|
21
21
|
%li class: #{@expression.class.name}
|
22
22
|
%li name: #{@expression.respond_to?(:participant_name) ? @expression.participant_name : @expression.name}
|
23
23
|
%li process: #{link_to @process}
|
@@ -16,7 +16,7 @@
|
|
16
16
|
%li
|
17
17
|
= link_to_expression expression
|
18
18
|
%ul.nested_details
|
19
|
-
%li
|
19
|
+
%li id: #{expression.fei.expid}
|
20
20
|
%li class: #{expression.class.name}
|
21
21
|
%li name: #{expression.respond_to?(:participant_name) ? expression.participant_name : expression.name}
|
22
22
|
|
data/lib/ruote-kit.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'ruote'
|
3
|
+
require 'ruote/part/storage_participant'
|
3
4
|
|
4
5
|
module RuoteKit
|
5
6
|
|
6
|
-
VERSION =
|
7
|
+
VERSION = '2.1.7'
|
7
8
|
|
8
9
|
autoload :Configuration, "ruote-kit/configuration"
|
9
10
|
autoload :Application, "ruote-kit/application"
|
@@ -31,11 +32,11 @@ module RuoteKit
|
|
31
32
|
def configure( &block )
|
32
33
|
yield configuration
|
33
34
|
|
34
|
-
run_engine!
|
35
|
+
run_engine!
|
35
36
|
end
|
36
37
|
|
37
38
|
# Configure and run the engine in a RESTful container
|
38
|
-
def run!(&block)
|
39
|
+
def run!( &block )
|
39
40
|
yield if block_given?
|
40
41
|
|
41
42
|
run_engine!
|
@@ -46,14 +47,9 @@ module RuoteKit
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def configuration
|
49
|
-
|
50
50
|
@configuration ||= Configuration.new
|
51
51
|
end
|
52
52
|
|
53
|
-
def configure_participants
|
54
|
-
self.engine.register_participant('.*', configuration.catchall_participant)
|
55
|
-
end
|
56
|
-
|
57
53
|
# Ensure the engine is running
|
58
54
|
def ensure_engine!
|
59
55
|
run_engine! if self.engine.nil?
|
@@ -63,10 +59,14 @@ module RuoteKit
|
|
63
59
|
# it
|
64
60
|
def run_engine!
|
65
61
|
|
62
|
+
return unless configuration.run_engine
|
63
|
+
|
66
64
|
storage = configuration.storage_instance
|
67
65
|
self.engine = Ruote::Engine.new( storage )
|
68
66
|
|
69
|
-
|
67
|
+
configuration.do_participant_registration
|
68
|
+
|
69
|
+
@storage_participant = nil
|
70
70
|
|
71
71
|
run_worker!( true ) if configuration.run_worker
|
72
72
|
end
|
@@ -101,5 +101,17 @@ module RuoteKit
|
|
101
101
|
self.worker = nil
|
102
102
|
end
|
103
103
|
|
104
|
+
def storage_participant
|
105
|
+
return nil if self.engine.nil?
|
106
|
+
@storage_participant ||= Ruote::StorageParticipant.new(self.engine)
|
107
|
+
end
|
108
|
+
|
109
|
+
# resets the configuration
|
110
|
+
#
|
111
|
+
# mainly used in tests
|
112
|
+
def reset_configuration!
|
113
|
+
@configuration = nil
|
114
|
+
end
|
115
|
+
|
104
116
|
end
|
105
117
|
end
|
data/ruote-kit.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ruote-kit}
|
8
|
-
s.version = "2.1.
|
8
|
+
s.version = "2.1.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["kenneth.kalmer@gmail.com"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-03-10}
|
13
13
|
s.description = %q{ruote-kit is a RESTful Rack app for the ruote workflow engine}
|
14
14
|
s.email = %q{kenneth.kalmer@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -49,28 +49,15 @@ Gem::Specification.new do |s|
|
|
49
49
|
"lib/ruote-kit/resources/processes.rb",
|
50
50
|
"lib/ruote-kit/resources/workitems.rb",
|
51
51
|
"lib/ruote-kit/spec/ruote_helpers.rb",
|
52
|
-
"lib/ruote-kit/
|
53
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/README.markdown",
|
54
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/Rakefile",
|
55
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/VERSION.yml",
|
56
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/lib/sinatra/respond_to.rb",
|
57
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/sinatra-respond_to.gemspec",
|
58
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static folder/.keep",
|
59
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static.txt",
|
60
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/test_app.rb",
|
61
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/unreachable_static.txt",
|
62
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/layout.html.haml",
|
63
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.html.haml",
|
64
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.js.erb",
|
65
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.xml.builder",
|
66
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/extension_spec.rb",
|
67
|
-
"lib/ruote-kit/vendor/sinatra-respond_to/spec/spec_helper.rb",
|
52
|
+
"lib/ruote-kit/version.rb",
|
68
53
|
"lib/ruote-kit/views/expression.html.haml",
|
69
54
|
"lib/ruote-kit/views/expressions.html.haml",
|
70
55
|
"lib/ruote-kit/views/index.html.haml",
|
71
56
|
"lib/ruote-kit/views/launch_process.html.haml",
|
72
57
|
"lib/ruote-kit/views/layout.html.haml",
|
73
58
|
"lib/ruote-kit/views/process.html.haml",
|
59
|
+
"lib/ruote-kit/views/process_failed_to_launch.html.haml",
|
60
|
+
"lib/ruote-kit/views/process_launched.html.haml",
|
74
61
|
"lib/ruote-kit/views/processes.html.haml",
|
75
62
|
"lib/ruote-kit/views/resource_not_found.html.haml",
|
76
63
|
"lib/ruote-kit/views/workitem.html.haml",
|
@@ -81,11 +68,14 @@ Gem::Specification.new do |s|
|
|
81
68
|
"spec/resources/index_spec.rb",
|
82
69
|
"spec/resources/processes_spec.rb",
|
83
70
|
"spec/resources/workitems_spec.rb",
|
71
|
+
"spec/ruote-kit_configure_spec.rb",
|
84
72
|
"spec/ruote-kit_spec.rb",
|
85
73
|
"spec/spec.opts",
|
86
74
|
"spec/spec_helper.rb",
|
75
|
+
"spec/views/expressions.html.haml_spec.rb",
|
87
76
|
"spec/views/launch_process.html.haml_spec.rb",
|
88
77
|
"spec/views/process.html.haml_spec.rb",
|
78
|
+
"spec/views/process_launched.html.haml_spec.rb",
|
89
79
|
"spec/views/processes.html.haml_spec.rb",
|
90
80
|
"spec/views/workitems.html.haml_spec.rb"
|
91
81
|
]
|
@@ -95,17 +85,20 @@ Gem::Specification.new do |s|
|
|
95
85
|
s.rubygems_version = %q{1.3.5}
|
96
86
|
s.summary = %q{ruote workflow engine, wrapped in a loving rack embrace}
|
97
87
|
s.test_files = [
|
98
|
-
"spec/
|
99
|
-
"spec/resources/
|
88
|
+
"spec/resources/expressions_spec.rb",
|
89
|
+
"spec/resources/workitems_spec.rb",
|
100
90
|
"spec/resources/index_spec.rb",
|
101
91
|
"spec/resources/processes_spec.rb",
|
102
|
-
"spec/
|
92
|
+
"spec/ruote-kit_configure_spec.rb",
|
103
93
|
"spec/ruote-kit_spec.rb",
|
104
|
-
"spec/
|
94
|
+
"spec/helpers/render_helpers_spec.rb",
|
95
|
+
"spec/views/workitems.html.haml_spec.rb",
|
96
|
+
"spec/views/process_launched.html.haml_spec.rb",
|
105
97
|
"spec/views/launch_process.html.haml_spec.rb",
|
106
|
-
"spec/views/
|
98
|
+
"spec/views/expressions.html.haml_spec.rb",
|
107
99
|
"spec/views/processes.html.haml_spec.rb",
|
108
|
-
"spec/views/
|
100
|
+
"spec/views/process.html.haml_spec.rb",
|
101
|
+
"spec/spec_helper.rb"
|
109
102
|
]
|
110
103
|
|
111
104
|
if s.respond_to? :specification_version then
|
@@ -113,24 +106,36 @@ Gem::Specification.new do |s|
|
|
113
106
|
s.specification_version = 3
|
114
107
|
|
115
108
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
109
|
+
s.add_runtime_dependency(%q<bundler>, [">= 0.9.5"])
|
116
110
|
s.add_runtime_dependency(%q<sinatra>, [">= 0.9.4"])
|
111
|
+
s.add_runtime_dependency(%q<sinatra-respond_to>, [">= 0.4.0"])
|
117
112
|
s.add_runtime_dependency(%q<haml>, [">= 2.2.5"])
|
118
113
|
s.add_runtime_dependency(%q<json>, [">= 0"])
|
119
|
-
s.add_runtime_dependency(%q<ruote>, ["
|
114
|
+
s.add_runtime_dependency(%q<ruote>, [">= 2.1.7"])
|
115
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
120
116
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
117
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
121
118
|
else
|
119
|
+
s.add_dependency(%q<bundler>, [">= 0.9.5"])
|
122
120
|
s.add_dependency(%q<sinatra>, [">= 0.9.4"])
|
121
|
+
s.add_dependency(%q<sinatra-respond_to>, [">= 0.4.0"])
|
123
122
|
s.add_dependency(%q<haml>, [">= 2.2.5"])
|
124
123
|
s.add_dependency(%q<json>, [">= 0"])
|
125
|
-
s.add_dependency(%q<ruote>, ["
|
124
|
+
s.add_dependency(%q<ruote>, [">= 2.1.7"])
|
125
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
126
126
|
s.add_dependency(%q<rspec>, [">= 0"])
|
127
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
127
128
|
end
|
128
129
|
else
|
130
|
+
s.add_dependency(%q<bundler>, [">= 0.9.5"])
|
129
131
|
s.add_dependency(%q<sinatra>, [">= 0.9.4"])
|
132
|
+
s.add_dependency(%q<sinatra-respond_to>, [">= 0.4.0"])
|
130
133
|
s.add_dependency(%q<haml>, [">= 2.2.5"])
|
131
134
|
s.add_dependency(%q<json>, [">= 0"])
|
132
|
-
s.add_dependency(%q<ruote>, ["
|
135
|
+
s.add_dependency(%q<ruote>, [">= 2.1.7"])
|
136
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
133
137
|
s.add_dependency(%q<rspec>, [">= 0"])
|
138
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
134
139
|
end
|
135
140
|
end
|
136
141
|
|