bumbleworks-gui 0.0.3

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.
Files changed (79) hide show
  1. data/.gitignore +17 -0
  2. data/.rspec +3 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +5 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +23 -0
  7. data/Rakefile +9 -0
  8. data/bumbleworks-gui.gemspec +31 -0
  9. data/config.ru +39 -0
  10. data/lib/bumbleworks/gui.rb +22 -0
  11. data/lib/bumbleworks/gui/assets/css/application.css +65 -0
  12. data/lib/bumbleworks/gui/assets/css/ruote-fluo.css +62 -0
  13. data/lib/bumbleworks/gui/assets/css/side-menu.css +203 -0
  14. data/lib/bumbleworks/gui/assets/js/application.js +36 -0
  15. data/lib/bumbleworks/gui/assets/js/fluo_helper.js +30 -0
  16. data/lib/bumbleworks/gui/assets/js/foolbox.min.js +3 -0
  17. data/lib/bumbleworks/gui/assets/js/jquery.js +26 -0
  18. data/lib/bumbleworks/gui/assets/js/list.min.js +1 -0
  19. data/lib/bumbleworks/gui/assets/js/list.pagination.min.js +1 -0
  20. data/lib/bumbleworks/gui/assets/js/ruote-fluo.min.js +3 -0
  21. data/lib/bumbleworks/gui/config/application.rb +9 -0
  22. data/lib/bumbleworks/gui/config/routes.rb +18 -0
  23. data/lib/bumbleworks/gui/controllers/application_controller.rb +15 -0
  24. data/lib/bumbleworks/gui/controllers/dashboards_controller.rb +17 -0
  25. data/lib/bumbleworks/gui/controllers/entities_controller.rb +26 -0
  26. data/lib/bumbleworks/gui/controllers/expressions_controller.rb +28 -0
  27. data/lib/bumbleworks/gui/controllers/processes_controller.rb +13 -0
  28. data/lib/bumbleworks/gui/controllers/tasks_controller.rb +13 -0
  29. data/lib/bumbleworks/gui/controllers/trackers_controller.rb +13 -0
  30. data/lib/bumbleworks/gui/version.rb +5 -0
  31. data/lib/bumbleworks/gui/views/dashboards/show.html.erb +21 -0
  32. data/lib/bumbleworks/gui/views/entities/index.html.erb +46 -0
  33. data/lib/bumbleworks/gui/views/entities/show.html.erb +9 -0
  34. data/lib/bumbleworks/gui/views/entities/types.html.erb +3 -0
  35. data/lib/bumbleworks/gui/views/expressions/actions.html.erb +11 -0
  36. data/lib/bumbleworks/gui/views/expressions/show.html.erb +32 -0
  37. data/lib/bumbleworks/gui/views/layouts/default.html.erb +58 -0
  38. data/lib/bumbleworks/gui/views/processes/index.html.erb +3 -0
  39. data/lib/bumbleworks/gui/views/processes/show.html.erb +46 -0
  40. data/lib/bumbleworks/gui/views/shared/entity_types.html.erb +23 -0
  41. data/lib/bumbleworks/gui/views/shared/expressions.html.erb +27 -0
  42. data/lib/bumbleworks/gui/views/shared/list_js_script.html.erb +29 -0
  43. data/lib/bumbleworks/gui/views/shared/processes.html.erb +45 -0
  44. data/lib/bumbleworks/gui/views/shared/tasks.html.erb +28 -0
  45. data/lib/bumbleworks/gui/views/shared/trackers.html.erb +25 -0
  46. data/lib/bumbleworks/gui/views/tasks/index.html.erb +3 -0
  47. data/lib/bumbleworks/gui/views/tasks/show.html.erb +13 -0
  48. data/lib/bumbleworks/gui/views/trackers/index.html.erb +3 -0
  49. data/lib/bumbleworks/gui/views/trackers/show.html.erb +13 -0
  50. data/spec/features/dashboard_display_spec.rb +18 -0
  51. data/spec/features/entity_administration_spec.rb +38 -0
  52. data/spec/features/expression_administration_spec.rb +48 -0
  53. data/spec/features/process_administration_spec.rb +24 -0
  54. data/spec/features/task_administration_spec.rb +22 -0
  55. data/spec/features/tracker_administration_spec.rb +23 -0
  56. data/spec/fixtures/bumbleworks_config.rb +10 -0
  57. data/spec/fixtures/entities/mock_entity.rb +38 -0
  58. data/spec/fixtures/entities/widget.rb +9 -0
  59. data/spec/fixtures/entities/widgety_fidget.rb +5 -0
  60. data/spec/fixtures/participants.rb +3 -0
  61. data/spec/fixtures/participants/naughty_participant.rb +8 -0
  62. data/spec/fixtures/processes/task_process.rb +9 -0
  63. data/spec/fixtures/processes/waiting_process.rb +8 -0
  64. data/spec/spec_helper.rb +41 -0
  65. data/spec/support/drivers/dashboard_detail.rb +5 -0
  66. data/spec/support/drivers/entity_detail.rb +9 -0
  67. data/spec/support/drivers/entity_index.rb +13 -0
  68. data/spec/support/drivers/entity_type_index.rb +11 -0
  69. data/spec/support/drivers/expression_detail.rb +11 -0
  70. data/spec/support/drivers/process_detail.rb +17 -0
  71. data/spec/support/drivers/process_index.rb +11 -0
  72. data/spec/support/drivers/task_detail.rb +5 -0
  73. data/spec/support/drivers/task_index.rb +11 -0
  74. data/spec/support/drivers/tracker_detail.rb +5 -0
  75. data/spec/support/drivers/tracker_index.rb +11 -0
  76. data/spec/support/drivers/window_driver.rb +9 -0
  77. data/spec/support/path_helpers.rb +10 -0
  78. data/spec/support/process_testing_helpers.rb +9 -0
  79. metadata +288 -0
@@ -0,0 +1,10 @@
1
+ require_relative 'entities/widget'
2
+ require_relative 'entities/widgety_fidget'
3
+
4
+ Bumbleworks.configure do |c|
5
+ c.storage = {}
6
+ c.root = File.dirname(__FILE__)
7
+ end
8
+
9
+ Bumbleworks.bootstrap!
10
+ Bumbleworks.initialize!
@@ -0,0 +1,38 @@
1
+ class MockEntity
2
+ class << self
3
+ def collection
4
+ @collection ||= {}
5
+ end
6
+
7
+ def all
8
+ collection.values
9
+ end
10
+
11
+ def truncate!
12
+ @collection = {}
13
+ end
14
+
15
+ def first_by_identifier(identifier)
16
+ collection[identifier.to_i]
17
+ end
18
+
19
+ def count
20
+ all.count
21
+ end
22
+ end
23
+
24
+ def initialize(identifier)
25
+ @identifier = identifier
26
+ self.class.collection[identifier] = self
27
+ end
28
+
29
+ def id
30
+ @identifier
31
+ end
32
+
33
+ def update(hsh)
34
+ hsh.each do |key, value|
35
+ self.send(:"#{key}=", value)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,9 @@
1
+ require_relative 'mock_entity'
2
+
3
+ class Widget < MockEntity
4
+ include Bumbleworks::Entity
5
+
6
+ process :task_process
7
+
8
+ attr_accessor :task_process_identifier
9
+ end
@@ -0,0 +1,5 @@
1
+ require_relative 'mock_entity'
2
+
3
+ class WidgetyFidget < MockEntity
4
+ include Bumbleworks::Entity
5
+ end
@@ -0,0 +1,3 @@
1
+ Bumbleworks.register_participants do
2
+ fall_apart NaughtyParticipant
3
+ end
@@ -0,0 +1,8 @@
1
+ class NaughtyParticipant
2
+ class StupidError < StandardError; end
3
+ include Bumbleworks::LocalParticipant
4
+
5
+ def on_workitem
6
+ raise StupidError, 'Oh crumb.'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ Bumbleworks.define_process do
2
+ concurrence do
3
+ admin :task => 'do_something'
4
+ peon :task => 'do_something_dumb'
5
+ end
6
+ fall_apart
7
+ peon :task => 'meekly_do_another_thing'
8
+ admin :task => 'confront'
9
+ end
@@ -0,0 +1,8 @@
1
+ Bumbleworks.define_process do
2
+ concurrence do
3
+ wait_for_event :the_event, :where => :entities_match
4
+ await :left_tag => 'local_event'
5
+ await :error => /bad/
6
+ await :participant => %w[goose bunnies]
7
+ end
8
+ end
@@ -0,0 +1,41 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
4
+ require 'capybara/rspec'
5
+ require 'bumbleworks/gui'
6
+ require_relative 'support/drivers/window_driver'
7
+
8
+ # Requires supporting ruby files with custom matchers and macros, etc,
9
+ # in spec/support/ and its subdirectories.
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
11
+
12
+ # To simulate the suggested use of mounting the GUI at a path
13
+ # below root, we'll mount it for tests at /bw
14
+ Capybara.app = Rack::Builder.new do
15
+ map "/bw" do
16
+ run Bumbleworks::Gui::RackApp
17
+ end
18
+ end
19
+
20
+ require_relative 'fixtures/bumbleworks_config.rb'
21
+
22
+ RSpec.configure do |config|
23
+ config.treat_symbols_as_metadata_keys_with_true_values = true
24
+ config.run_all_when_everything_filtered = true
25
+
26
+ # Run specs in random order to surface order dependencies. If you find an
27
+ # order dependency and want to debug it, you can fix the order by providing
28
+ # the seed, which is printed after each run.
29
+ # --seed 1234
30
+ config.order = 'random'
31
+
32
+ config.before(:suite, :type => :features) do
33
+ Bumbleworks.start_worker!
34
+ end
35
+
36
+ config.after(:suite, :type => :features) do
37
+ Bumbleworks.dashboard.worker.shutdown
38
+ end
39
+
40
+ config.include PathHelpers
41
+ end
@@ -0,0 +1,5 @@
1
+ class DashboardDetail < WindowDriver
2
+ def has_count_of?(collection)
3
+ page.has_text?(collection.count)
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class EntityDetail < WindowDriver
2
+ def has_entity?(entity)
3
+ page.has_text?(entity.to_s)
4
+ end
5
+
6
+ def has_process?(process)
7
+ page.has_text?(process.wfid)
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ class EntityIndex < WindowDriver
2
+ def entity_count(type)
3
+ entity_counts[type].to_i
4
+ end
5
+
6
+ def entity_counts
7
+ page.all('#classes tbody.list tr').inject({}) { |memo, row|
8
+ type = row.find('.class').text
9
+ memo[type] = row.find('.count').text
10
+ memo
11
+ }
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class EntityTypeIndex < WindowDriver
2
+ def has_entities?(entities)
3
+ entities.all? { |entity|
4
+ page.has_text? entity.to_s
5
+ }
6
+ end
7
+
8
+ def has_registered_process?(process_name)
9
+ page.has_text? process_name
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class ExpressionDetail < WindowDriver
2
+ def has_expression?(expression)
3
+ page.has_text?(expression.expid) &&
4
+ page.has_text?(expression.process.wfid)
5
+ end
6
+
7
+ def has_error?(error)
8
+ page.has_text?(error.class.name) &&
9
+ page.has_text?(error.message)
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ class ProcessDetail < WindowDriver
2
+ def has_process?(process)
3
+ page.has_text?(process.wfid)
4
+ end
5
+
6
+ def has_entity?(entity)
7
+ page.has_text?(entity)
8
+ end
9
+
10
+ def has_error?(error)
11
+ page.has_text?(error.message)
12
+ end
13
+
14
+ def has_expression?(exp)
15
+ page.has_text?(exp.expid)
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ class ProcessIndex < WindowDriver
2
+ def has_process?(process)
3
+ page.has_text?(process.wfid) && page.has_text?(process.entity_name)
4
+ end
5
+
6
+ def has_processes?(processes)
7
+ processes.all? do |process|
8
+ has_process?(process)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class TaskDetail < WindowDriver
2
+ def has_task?(task)
3
+ page.has_text?(task.id)
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class TaskIndex < WindowDriver
2
+ def has_task?(task)
3
+ page.has_text?(task.id)
4
+ end
5
+
6
+ def has_tasks?(tasks)
7
+ tasks.all? do |task|
8
+ has_task?(task)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ class TrackerDetail < WindowDriver
2
+ def has_tracker?(tracker)
3
+ page.has_text?(tracker.original_hash.to_s)
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ class TrackerIndex < WindowDriver
2
+ def has_tracker?(tracker)
3
+ page.has_text?(tracker.id)
4
+ end
5
+
6
+ def has_trackers?(trackers)
7
+ trackers.all? do |tracker|
8
+ has_tracker?(tracker)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class WindowDriver
2
+ def initialize(session)
3
+ @session = session
4
+ end
5
+
6
+ def page
7
+ @session.page
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ module PathHelpers
2
+ def scoped_path(path)
3
+ "/bw/#{path.gsub(/^\//, '')}"
4
+ end
5
+
6
+ # Visit the path after adding the mounted scope.
7
+ def visit_scoped(path)
8
+ visit(scoped_path(path))
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ def wait_until(options = {}, &block)
2
+ options[:timeout] ||= 5
3
+
4
+ start_time = Time.now
5
+ until block.call
6
+ raise "The block never returned: \n#{block.to_source}" if (Time.now - start_time) > options[:timeout]
7
+ sleep 0.1
8
+ end
9
+ end
metadata ADDED
@@ -0,0 +1,288 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bumbleworks-gui
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ravi Gadad
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-06 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bumbleworks
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.0.73
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.73
30
+ - !ruby/object:Gem::Dependency
31
+ name: rory
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.3.11
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.3.11
46
+ - !ruby/object:Gem::Dependency
47
+ name: bundler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '1.3'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: shotgun
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: capybara
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: simplecov
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ description: Bumbleworks web GUI for viewing/administering processes
143
+ email:
144
+ - ravi@renewfund.com
145
+ executables: []
146
+ extensions: []
147
+ extra_rdoc_files: []
148
+ files:
149
+ - .gitignore
150
+ - .rspec
151
+ - .ruby-version
152
+ - Gemfile
153
+ - LICENSE.txt
154
+ - README.md
155
+ - Rakefile
156
+ - bumbleworks-gui.gemspec
157
+ - config.ru
158
+ - lib/bumbleworks/gui.rb
159
+ - lib/bumbleworks/gui/assets/css/application.css
160
+ - lib/bumbleworks/gui/assets/css/ruote-fluo.css
161
+ - lib/bumbleworks/gui/assets/css/side-menu.css
162
+ - lib/bumbleworks/gui/assets/js/application.js
163
+ - lib/bumbleworks/gui/assets/js/fluo_helper.js
164
+ - lib/bumbleworks/gui/assets/js/foolbox.min.js
165
+ - lib/bumbleworks/gui/assets/js/jquery.js
166
+ - lib/bumbleworks/gui/assets/js/list.min.js
167
+ - lib/bumbleworks/gui/assets/js/list.pagination.min.js
168
+ - lib/bumbleworks/gui/assets/js/ruote-fluo.min.js
169
+ - lib/bumbleworks/gui/config/application.rb
170
+ - lib/bumbleworks/gui/config/routes.rb
171
+ - lib/bumbleworks/gui/controllers/application_controller.rb
172
+ - lib/bumbleworks/gui/controllers/dashboards_controller.rb
173
+ - lib/bumbleworks/gui/controllers/entities_controller.rb
174
+ - lib/bumbleworks/gui/controllers/expressions_controller.rb
175
+ - lib/bumbleworks/gui/controllers/processes_controller.rb
176
+ - lib/bumbleworks/gui/controllers/tasks_controller.rb
177
+ - lib/bumbleworks/gui/controllers/trackers_controller.rb
178
+ - lib/bumbleworks/gui/version.rb
179
+ - lib/bumbleworks/gui/views/dashboards/show.html.erb
180
+ - lib/bumbleworks/gui/views/entities/index.html.erb
181
+ - lib/bumbleworks/gui/views/entities/show.html.erb
182
+ - lib/bumbleworks/gui/views/entities/types.html.erb
183
+ - lib/bumbleworks/gui/views/expressions/actions.html.erb
184
+ - lib/bumbleworks/gui/views/expressions/show.html.erb
185
+ - lib/bumbleworks/gui/views/layouts/default.html.erb
186
+ - lib/bumbleworks/gui/views/processes/index.html.erb
187
+ - lib/bumbleworks/gui/views/processes/show.html.erb
188
+ - lib/bumbleworks/gui/views/shared/entity_types.html.erb
189
+ - lib/bumbleworks/gui/views/shared/expressions.html.erb
190
+ - lib/bumbleworks/gui/views/shared/list_js_script.html.erb
191
+ - lib/bumbleworks/gui/views/shared/processes.html.erb
192
+ - lib/bumbleworks/gui/views/shared/tasks.html.erb
193
+ - lib/bumbleworks/gui/views/shared/trackers.html.erb
194
+ - lib/bumbleworks/gui/views/tasks/index.html.erb
195
+ - lib/bumbleworks/gui/views/tasks/show.html.erb
196
+ - lib/bumbleworks/gui/views/trackers/index.html.erb
197
+ - lib/bumbleworks/gui/views/trackers/show.html.erb
198
+ - spec/features/dashboard_display_spec.rb
199
+ - spec/features/entity_administration_spec.rb
200
+ - spec/features/expression_administration_spec.rb
201
+ - spec/features/process_administration_spec.rb
202
+ - spec/features/task_administration_spec.rb
203
+ - spec/features/tracker_administration_spec.rb
204
+ - spec/fixtures/bumbleworks_config.rb
205
+ - spec/fixtures/entities/mock_entity.rb
206
+ - spec/fixtures/entities/widget.rb
207
+ - spec/fixtures/entities/widgety_fidget.rb
208
+ - spec/fixtures/participants.rb
209
+ - spec/fixtures/participants/naughty_participant.rb
210
+ - spec/fixtures/processes/task_process.rb
211
+ - spec/fixtures/processes/waiting_process.rb
212
+ - spec/spec_helper.rb
213
+ - spec/support/drivers/dashboard_detail.rb
214
+ - spec/support/drivers/entity_detail.rb
215
+ - spec/support/drivers/entity_index.rb
216
+ - spec/support/drivers/entity_type_index.rb
217
+ - spec/support/drivers/expression_detail.rb
218
+ - spec/support/drivers/process_detail.rb
219
+ - spec/support/drivers/process_index.rb
220
+ - spec/support/drivers/task_detail.rb
221
+ - spec/support/drivers/task_index.rb
222
+ - spec/support/drivers/tracker_detail.rb
223
+ - spec/support/drivers/tracker_index.rb
224
+ - spec/support/drivers/window_driver.rb
225
+ - spec/support/path_helpers.rb
226
+ - spec/support/process_testing_helpers.rb
227
+ homepage: ''
228
+ licenses:
229
+ - MIT
230
+ post_install_message:
231
+ rdoc_options: []
232
+ require_paths:
233
+ - lib
234
+ required_ruby_version: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ segments:
241
+ - 0
242
+ hash: 1316044860917591903
243
+ required_rubygems_version: !ruby/object:Gem::Requirement
244
+ none: false
245
+ requirements:
246
+ - - ! '>='
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ segments:
250
+ - 0
251
+ hash: 1316044860917591903
252
+ requirements: []
253
+ rubyforge_project:
254
+ rubygems_version: 1.8.23
255
+ signing_key:
256
+ specification_version: 3
257
+ summary: This gem enables a Rory application (mountable in your own app) to make it
258
+ easier to administer your Bumbleworks instance.
259
+ test_files:
260
+ - spec/features/dashboard_display_spec.rb
261
+ - spec/features/entity_administration_spec.rb
262
+ - spec/features/expression_administration_spec.rb
263
+ - spec/features/process_administration_spec.rb
264
+ - spec/features/task_administration_spec.rb
265
+ - spec/features/tracker_administration_spec.rb
266
+ - spec/fixtures/bumbleworks_config.rb
267
+ - spec/fixtures/entities/mock_entity.rb
268
+ - spec/fixtures/entities/widget.rb
269
+ - spec/fixtures/entities/widgety_fidget.rb
270
+ - spec/fixtures/participants.rb
271
+ - spec/fixtures/participants/naughty_participant.rb
272
+ - spec/fixtures/processes/task_process.rb
273
+ - spec/fixtures/processes/waiting_process.rb
274
+ - spec/spec_helper.rb
275
+ - spec/support/drivers/dashboard_detail.rb
276
+ - spec/support/drivers/entity_detail.rb
277
+ - spec/support/drivers/entity_index.rb
278
+ - spec/support/drivers/entity_type_index.rb
279
+ - spec/support/drivers/expression_detail.rb
280
+ - spec/support/drivers/process_detail.rb
281
+ - spec/support/drivers/process_index.rb
282
+ - spec/support/drivers/task_detail.rb
283
+ - spec/support/drivers/task_index.rb
284
+ - spec/support/drivers/tracker_detail.rb
285
+ - spec/support/drivers/tracker_index.rb
286
+ - spec/support/drivers/window_driver.rb
287
+ - spec/support/path_helpers.rb
288
+ - spec/support/process_testing_helpers.rb