bumbleworks 0.0.24 → 0.0.25

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.
@@ -125,12 +125,13 @@ module Bumbleworks
125
125
  #
126
126
  def root
127
127
  @root ||= case
128
- when defined?(Rails) then Rails.root
129
- when defined?(Rory) then Rory.root
130
- when defined?(Sinatra::Application) then Sinatra::Application.root
131
- else
132
- raise UndefinedSetting.new("Bumbleworks.root must be set") unless @root
128
+ when defined?(Rails) then Rails.root
129
+ when defined?(Rory) then Rory.root
130
+ when defined?(Padrino) then Padrino.root
131
+ when defined?(Sinatra::Application) then Sinatra::Application.root
133
132
  end
133
+ raise UndefinedSetting.new("Bumbleworks.root must be set") unless @root
134
+ @root
134
135
  end
135
136
 
136
137
  # Add a storage adapter to the set of possible adapters. Takes an object
@@ -176,22 +177,26 @@ module Bumbleworks
176
177
  find_folder(default_folders, @tasks_directory, "Tasks folder not found")
177
178
  end
178
179
 
179
- def find_folder(default_directories, defined_directory, message)
180
- # use defined directory structure if defined
181
- if defined_directory
182
- defined_directory = File.join(root, defined_directory) unless defined_directory[0] == '/'
183
- end
184
-
185
- # next look in default directory structure
186
- defined_directory ||= default_directories.detect do |default_folder|
187
- folder = File.join(root, default_folder)
188
- next unless File.directory?(folder)
189
- break folder
180
+ def find_folder(default_directories, user_defined_directory, message)
181
+ if user_defined_directory
182
+ # use user-defined directory if specified
183
+ defined_directory = if user_defined_directory[0] == '/'
184
+ user_defined_directory
185
+ else
186
+ File.join(root, user_defined_directory)
187
+ end
188
+ else
189
+ # next look in default directory structure
190
+ defined_directory = default_directories.detect do |default_folder|
191
+ folder = File.join(root, default_folder)
192
+ next unless File.directory?(folder)
193
+ break folder
194
+ end
190
195
  end
191
196
 
192
197
  return defined_directory if File.directory?(defined_directory.to_s)
193
198
 
194
- raise Bumbleworks::InvalidSetting, "#{message}: #{defined_directory}"
199
+ raise Bumbleworks::InvalidSetting, "#{message} (looked in #{user_defined_directory || default_directories.join(', ')})"
195
200
  end
196
201
  end
197
202
  end
@@ -171,10 +171,6 @@ module Bumbleworks
171
171
 
172
172
  private
173
173
 
174
- def workitem
175
- @workitem
176
- end
177
-
178
174
  def storage_participant
179
175
  self.class.storage_participant
180
176
  end
@@ -1,3 +1,3 @@
1
1
  module Bumbleworks
2
- VERSION = "0.0.24"
2
+ VERSION = "0.0.25"
3
3
  end
@@ -25,6 +25,17 @@ describe Bumbleworks::Configuration do
25
25
  Object.send(:remove_const, :Rails)
26
26
  end
27
27
 
28
+ it 'uses Padrino.root if defined' do
29
+ class Padrino
30
+ def self.root
31
+ '/Padrino/Root'
32
+ end
33
+ end
34
+
35
+ configuration.root.should == '/Padrino/Root'
36
+ Object.send(:remove_const, :Padrino)
37
+ end
38
+
28
39
  it 'uses Sinatra::Application.root if defined' do
29
40
  class Sinatra
30
41
  class Application
@@ -48,6 +59,17 @@ describe Bumbleworks::Configuration do
48
59
  configuration.root.should == '/Rory/Root'
49
60
  Object.send(:remove_const, :Rory)
50
61
  end
62
+
63
+ it 'raises error if automatic root detection returns nil' do
64
+ class Rails
65
+ def self.root
66
+ nil
67
+ end
68
+ end
69
+
70
+ expect{configuration.root}.to raise_error Bumbleworks::UndefinedSetting
71
+ Object.send(:remove_const, :Rails)
72
+ end
51
73
  end
52
74
 
53
75
  describe "#definitions_directory" do
@@ -72,12 +94,22 @@ describe Bumbleworks::Configuration do
72
94
 
73
95
  it 'raises an error if default folder not found' do
74
96
  configuration.root = '/Root'
75
- expect{configuration.definitions_directory}.to raise_error Bumbleworks::InvalidSetting
97
+ expect {
98
+ configuration.definitions_directory
99
+ }.to raise_error(
100
+ Bumbleworks::InvalidSetting,
101
+ "Definitions folder not found (looked in lib/bumbleworks/process_definitions, lib/bumbleworks/processes)"
102
+ )
76
103
  end
77
104
 
78
105
  it 'raises an error if specific folder not found' do
79
106
  configuration.definitions_directory = '/mumbo/jumbo'
80
- expect{configuration.definitions_directory}.to raise_error Bumbleworks::InvalidSetting
107
+ expect {
108
+ configuration.definitions_directory
109
+ }.to raise_error(
110
+ Bumbleworks::InvalidSetting,
111
+ "Definitions folder not found (looked in /mumbo/jumbo)"
112
+ )
81
113
  end
82
114
  end
83
115
 
@@ -96,12 +128,22 @@ describe Bumbleworks::Configuration do
96
128
 
97
129
  it 'raises an error if default folder not found' do
98
130
  configuration.root = '/Root'
99
- expect{configuration.participants_directory}.to raise_error Bumbleworks::InvalidSetting
131
+ expect {
132
+ configuration.participants_directory
133
+ }.to raise_error(
134
+ Bumbleworks::InvalidSetting,
135
+ "Participants folder not found (looked in lib/bumbleworks/participants)"
136
+ )
100
137
  end
101
138
 
102
139
  it 'raises an error if specific folder not found' do
103
140
  configuration.participants_directory = '/mumbo/jumbo'
104
- expect{configuration.participants_directory}.to raise_error Bumbleworks::InvalidSetting
141
+ expect {
142
+ configuration.participants_directory
143
+ }.to raise_error(
144
+ Bumbleworks::InvalidSetting,
145
+ "Participants folder not found (looked in /mumbo/jumbo)"
146
+ )
105
147
  end
106
148
  end
107
149
 
@@ -120,12 +162,22 @@ describe Bumbleworks::Configuration do
120
162
 
121
163
  it 'raises an error if default folder not found' do
122
164
  configuration.root = '/Root'
123
- expect{configuration.tasks_directory}.to raise_error Bumbleworks::InvalidSetting
165
+ expect {
166
+ configuration.tasks_directory
167
+ }.to raise_error(
168
+ Bumbleworks::InvalidSetting,
169
+ "Tasks folder not found (looked in lib/bumbleworks/tasks)"
170
+ )
124
171
  end
125
172
 
126
173
  it 'raises an error if specific folder not found' do
127
174
  configuration.tasks_directory = '/mumbo/jumbo'
128
- expect{configuration.tasks_directory}.to raise_error Bumbleworks::InvalidSetting
175
+ expect {
176
+ configuration.tasks_directory
177
+ }.to raise_error(
178
+ Bumbleworks::InvalidSetting,
179
+ "Tasks folder not found (looked in /mumbo/jumbo)"
180
+ )
129
181
  end
130
182
  end
131
183
 
@@ -57,14 +57,6 @@ describe Bumbleworks::WorkitemEntityStorage do
57
57
  Object.send(:remove_const, :LovelyEntity)
58
58
  end
59
59
 
60
- let(:entitied_workflow_item) {
61
- Ruote::Workitem.new('fields' => {
62
- 'entity_id' => '15',
63
- 'entity_type' => 'LovelyEntity',
64
- 'params' => {'task' => 'go_to_work'}
65
- })
66
- }
67
-
68
60
  it 'attempts to instantiate business entity from _id and _type fields' do
69
61
  feh = FakeEntityHolder.new('entity_id' => '15', 'entity_type' => 'LovelyEntity')
70
62
  feh.entity.identifier.should == '15'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bumbleworks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-07-13 00:00:00.000000000 Z
15
+ date: 2013-07-19 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: ruote
@@ -227,12 +227,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
227
227
  - - ! '>='
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
+ segments:
231
+ - 0
232
+ hash: -2155630126504321546
230
233
  required_rubygems_version: !ruby/object:Gem::Requirement
231
234
  none: false
232
235
  requirements:
233
236
  - - ! '>='
234
237
  - !ruby/object:Gem::Version
235
238
  version: '0'
239
+ segments:
240
+ - 0
241
+ hash: -2155630126504321546
236
242
  requirements: []
237
243
  rubyforge_project:
238
244
  rubygems_version: 1.8.23
@@ -271,4 +277,3 @@ test_files:
271
277
  - spec/lib/bumbleworks_spec.rb
272
278
  - spec/spec_helper.rb
273
279
  - spec/support/path_helpers.rb
274
- has_rdoc: