ruote-kit 2.1.4.1 → 2.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|