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.
Files changed (50) hide show
  1. data/.gitignore +1 -2
  2. data/Gemfile +10 -1
  3. data/README.rdoc +53 -10
  4. data/Rakefile +17 -5
  5. data/config.ru +15 -1
  6. data/lib/ruote-kit/application.rb +10 -5
  7. data/lib/ruote-kit/configuration.rb +34 -3
  8. data/lib/ruote-kit/helpers/engine_helpers.rb +3 -3
  9. data/lib/ruote-kit/helpers/render_helpers.rb +10 -1
  10. data/lib/ruote-kit/resources/processes.rb +10 -4
  11. data/lib/ruote-kit/resources/workitems.rb +6 -4
  12. data/lib/ruote-kit/spec/ruote_helpers.rb +3 -3
  13. data/lib/ruote-kit/version.rb +11 -0
  14. data/lib/ruote-kit/views/expression.html.haml +1 -1
  15. data/lib/ruote-kit/views/expressions.html.haml +1 -1
  16. data/lib/ruote-kit/views/process.html.haml +1 -1
  17. data/lib/ruote-kit/views/process_failed_to_launch.html.haml +7 -0
  18. data/lib/ruote-kit/views/process_launched.html.haml +6 -0
  19. data/lib/ruote-kit.rb +21 -9
  20. data/ruote-kit.gemspec +32 -27
  21. data/spec/helpers/render_helpers_spec.rb +5 -2
  22. data/spec/resources/expressions_spec.rb +8 -4
  23. data/spec/resources/index_spec.rb +4 -2
  24. data/spec/resources/processes_spec.rb +37 -11
  25. data/spec/resources/workitems_spec.rb +12 -5
  26. data/spec/ruote-kit_configure_spec.rb +100 -0
  27. data/spec/spec_helper.rb +15 -9
  28. data/spec/views/expressions.html.haml_spec.rb +31 -0
  29. data/spec/views/launch_process.html.haml_spec.rb +2 -1
  30. data/spec/views/process.html.haml_spec.rb +2 -1
  31. data/spec/views/process_launched.html.haml_spec.rb +16 -0
  32. data/spec/views/processes.html.haml_spec.rb +2 -1
  33. data/spec/views/workitems.html.haml_spec.rb +3 -2
  34. metadata +58 -25
  35. data/lib/ruote-kit/vendor/sinatra-respond_to/LICENSE +0 -21
  36. data/lib/ruote-kit/vendor/sinatra-respond_to/README.markdown +0 -102
  37. data/lib/ruote-kit/vendor/sinatra-respond_to/Rakefile +0 -30
  38. data/lib/ruote-kit/vendor/sinatra-respond_to/VERSION.yml +0 -4
  39. data/lib/ruote-kit/vendor/sinatra-respond_to/lib/sinatra/respond_to.rb +0 -206
  40. data/lib/ruote-kit/vendor/sinatra-respond_to/sinatra-respond_to.gemspec +0 -56
  41. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static folder/.keep +0 -0
  42. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/public/static.txt +0 -1
  43. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/test_app.rb +0 -53
  44. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/unreachable_static.txt +0 -1
  45. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/layout.html.haml +0 -2
  46. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.html.haml +0 -1
  47. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.js.erb +0 -3
  48. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/app/views/resource.xml.builder +0 -3
  49. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/extension_spec.rb +0 -403
  50. data/lib/ruote-kit/vendor/sinatra-respond_to/spec/spec_helper.rb +0 -18
data/.gitignore CHANGED
@@ -1,8 +1,7 @@
1
1
  *.swp
2
2
  work*/
3
3
  .DS_Store
4
- bin/*
5
- vendor/gems
6
4
  .yardoc
7
5
  doc/*
8
6
  pkg/*
7
+ .bundle/*
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.4'
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 BPM & middleware)
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
- $ gem bundle
33
+ $ bundle install
33
34
 
34
- Bundler will download all the required gems and unpack them in 'vendor/gems'
35
- for you.
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 'vendor/gems/environment' if File.exist?('vendor/gems/environment.rb')
2
+ require 'rake/tasklib'
5
3
 
6
- require 'lib/ruote-kit'
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', '= 2.1.4'
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
- require 'vendor/gems/environment' if ::File.exist?( 'vendor/gems/environment.rb' )
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 'ruote-kit/vendor/sinatra-respond_to/lib/sinatra/respond_to'
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::Base
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
- not_found do
37
- resource_not_found
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 catchall_participant
47
- require 'ruote/part/storage_participant'
48
- Ruote::StorageParticipant
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 store_participant
10
- RuoteKit.engine.context.plist.lookup('.*')
9
+ def storage_participant
10
+ RuoteKit.storage_participant
11
11
  end
12
12
 
13
13
  def find_workitems( wfid )
14
- store_participant.by_wfid( wfid )
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" => "404", "message" => "Resource not found" } }.to_json }
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
- format.html { redirect "/_ruote/processes/#{@wfid}" }
36
- format.json { json( :launched, @wfid ) }
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 store_participant.by_participant( part )
7
+ memo.concat storage_participant.by_participant( part )
8
8
  end
9
9
  else
10
- @workitems = store_participant.all
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
- store_participant.update( workitem )
51
+ storage_participant.update( workitem )
50
52
  end
51
53
 
52
54
  if options[:proceed]
53
- store_participant.reply( workitem )
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 store_participant
34
- RuoteKit.engine.context.plist.lookup('.*')
33
+ def storage_participant
34
+ RuoteKit.storage_participant
35
35
  end
36
36
 
37
37
  def find_workitem( wfid, expid )
38
- store_participant.by_wfid( wfid ).detect { |wi| wi.fei.expid == expid }
38
+ storage_participant.by_wfid( wfid ).detect { |wi| wi.fei.expid == expid }
39
39
  end
40
40
 
41
41
  def wait_for( wfid )
@@ -0,0 +1,11 @@
1
+
2
+ # lib/ruote-kit/version.rb
3
+ #
4
+ # so that the Rakefile doesn't have to load all the deps
5
+ # when running "rake gemspec"
6
+
7
+ module RuoteKit
8
+
9
+ VERSION = '2.1.7'
10
+ end
11
+
@@ -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 fei: #{@expression.fei.to_s}
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 fei: #{expression.fei.to_s}
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
 
@@ -27,7 +27,7 @@
27
27
  %ul.nolist
28
28
  %li wfid: #{@process.wfid}
29
29
  %li launch: #{@process.launched_time}
30
- %li paused:
30
+ /%li paused:
31
31
  %li: tags: #{@process.all_tags.keys.join(', ')}
32
32
  %li
33
33
  expressions:
@@ -0,0 +1,7 @@
1
+ %h2 Process failed to launch
2
+
3
+ .flash
4
+ .message.error
5
+ %p
6
+ &= @error.message
7
+ %a{ :href => "javascript:history.go(-1)" } Go back to the previous page
@@ -0,0 +1,6 @@
1
+ %h2 Process launched
2
+
3
+ .flash
4
+ .message
5
+ .notice
6
+ %p Your process has been launched. #{ link_to "GET /_ruote/processes/#{@wfid}", "/_ruote/processes/#{@wfid}" }
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 = "2.1.4.1"
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! if configuration.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
- configure_participants
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.4.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-01-12}
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/vendor/sinatra-respond_to/LICENSE",
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/helpers/render_helpers_spec.rb",
99
- "spec/resources/expressions_spec.rb",
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/resources/workitems_spec.rb",
92
+ "spec/ruote-kit_configure_spec.rb",
103
93
  "spec/ruote-kit_spec.rb",
104
- "spec/spec_helper.rb",
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/process.html.haml_spec.rb",
98
+ "spec/views/expressions.html.haml_spec.rb",
107
99
  "spec/views/processes.html.haml_spec.rb",
108
- "spec/views/workitems.html.haml_spec.rb"
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>, ["= 2.1.4"])
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>, ["= 2.1.4"])
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>, ["= 2.1.4"])
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