bumbleworks-sequel 0.0.3 → 0.0.4
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.
- checksums.yaml +7 -0
- data/.gitignore +0 -1
- data/.rspec +1 -1
- data/.ruby-version +1 -0
- data/README.md +6 -0
- data/bumbleworks-sequel.gemspec +2 -2
- data/lib/bumbleworks/sequel/adapter.rb +10 -6
- data/lib/bumbleworks/sequel/version.rb +1 -1
- data/spec/lib/bumbleworks/ruote_spec.rb +1 -2
- data/spec/lib/bumbleworks/sequel/adapter_spec.rb +37 -27
- data/spec/spec_helper.rb +5 -1
- metadata +26 -46
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1ecc11700497c706a13a5006b6717fde71f78329
|
4
|
+
data.tar.gz: 0a01be37584926768a7f75c1be8d1468ace44d04
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: cde4703c50b6b934fba67c9d18cad323909de2864a63cabe0d914beee79f7830d392b3962093f7e6f04cd466b56ba64ca7323ab21db435f722a63bd83e9b137b
|
7
|
+
data.tar.gz: 6772055c54a5de7a45d004fbd8d49a3e1550c6c39ef0e604d1affbebb18f714a5ff764467cf31a964998c8dd865adba5267880e88eaac7e8c5064d74064a3175
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.1
|
data/README.md
CHANGED
@@ -15,6 +15,12 @@ Set Bumbleworks.storage to a Sequel database connection. You can use Sequel.con
|
|
15
15
|
```ruby
|
16
16
|
Bumbleworks.configure do |c|
|
17
17
|
c.storage = Sequel.connect('postgres://user:password@host:port/database_name')
|
18
|
+
|
19
|
+
# optionally, set the table to use for the key-value store
|
20
|
+
# (if not set, it will default to 'bumbleworks_documents')
|
21
|
+
#
|
22
|
+
# c.storage_options = { :sequel_table_name => 'bumbleworks_documents' }
|
23
|
+
|
18
24
|
# ...
|
19
25
|
end
|
20
26
|
```
|
data/bumbleworks-sequel.gemspec
CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_runtime_dependency "bumbleworks", "
|
21
|
+
spec.add_runtime_dependency "bumbleworks", ">= 0.0.74"
|
22
22
|
spec.add_runtime_dependency "ruote-sequel"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.3"
|
25
25
|
spec.add_development_dependency "rake"
|
26
|
-
spec.add_development_dependency 'rspec'
|
26
|
+
spec.add_development_dependency 'rspec', "~> 3.0"
|
27
27
|
spec.add_development_dependency 'simplecov'
|
28
28
|
end
|
@@ -1,10 +1,20 @@
|
|
1
1
|
require "bumbleworks/storage_adapter"
|
2
|
+
require "rufus-json/automatic"
|
2
3
|
require "ruote-sequel"
|
3
4
|
|
4
5
|
module Bumbleworks
|
5
6
|
module Sequel
|
6
7
|
class Adapter < Bumbleworks::StorageAdapter
|
7
8
|
class << self
|
9
|
+
def wrap_storage_with_driver(storage, options = {})
|
10
|
+
options['sequel_table_name'] ||=
|
11
|
+
options.delete(:sequel_table_name) || 'bumbleworks_documents'
|
12
|
+
::Ruote::Sequel.create_table(storage, false, options['sequel_table_name'])
|
13
|
+
|
14
|
+
# overriding because base method ignores options
|
15
|
+
driver.new(storage, options)
|
16
|
+
end
|
17
|
+
|
8
18
|
def driver
|
9
19
|
::Ruote::Sequel::Storage
|
10
20
|
end
|
@@ -16,12 +26,6 @@ module Bumbleworks
|
|
16
26
|
def use?(storage)
|
17
27
|
storage.class.name =~ /^#{storage_class}/
|
18
28
|
end
|
19
|
-
|
20
|
-
def wrap_storage_with_driver(storage, options = {})
|
21
|
-
options['sequel_table_name'] ||= 'bumbleworks_documents'
|
22
|
-
::Ruote::Sequel.create_table(storage, false, options['sequel_table_name'])
|
23
|
-
driver.new(storage, options)
|
24
|
-
end
|
25
29
|
end
|
26
30
|
end
|
27
31
|
end
|
@@ -2,7 +2,6 @@ require 'bumbleworks'
|
|
2
2
|
|
3
3
|
describe Bumbleworks::Ruote do
|
4
4
|
before :each do
|
5
|
-
Bumbleworks.reset!
|
6
5
|
Bumbleworks::Sequel::Adapter.auto_register = false
|
7
6
|
end
|
8
7
|
|
@@ -18,7 +17,7 @@ describe Bumbleworks::Ruote do
|
|
18
17
|
Bumbleworks.configuration.add_storage_adapter(Bumbleworks::Sequel::Adapter)
|
19
18
|
storage = Sequel.connect('mock://ninja/turtles')
|
20
19
|
Bumbleworks.storage = storage
|
21
|
-
|
20
|
+
expect(Ruote::Sequel::Storage).to receive(:new).with(storage, {'sequel_table_name' => 'bumbleworks_documents'})
|
22
21
|
described_class.send(:storage)
|
23
22
|
end
|
24
23
|
|
@@ -1,72 +1,82 @@
|
|
1
1
|
require 'bumbleworks'
|
2
2
|
|
3
3
|
describe Bumbleworks::Sequel::Adapter do
|
4
|
-
before :each do
|
5
|
-
Bumbleworks.reset!
|
6
|
-
end
|
7
|
-
|
8
4
|
describe 'when added to configuration' do
|
9
5
|
it 'adds storage adapter to Bumbleworks' do
|
10
|
-
described_class.
|
11
|
-
Bumbleworks.configuration.storage_adapters.
|
6
|
+
allow(described_class).to receive(:auto_register?).and_return(false)
|
7
|
+
expect(Bumbleworks.configuration.storage_adapters).not_to include(described_class)
|
12
8
|
Bumbleworks.configuration.add_storage_adapter(described_class)
|
13
|
-
Bumbleworks.configuration.storage_adapters.
|
9
|
+
expect(Bumbleworks.configuration.storage_adapters).to include(described_class)
|
14
10
|
end
|
15
11
|
end
|
16
12
|
|
17
13
|
describe 'when auto_register is true' do
|
18
14
|
it 'is already automatically added to configuration' do
|
19
|
-
described_class.
|
20
|
-
Bumbleworks.configuration.storage_adapters.
|
15
|
+
allow(described_class).to receive(:auto_register?).and_return(true)
|
16
|
+
expect(Bumbleworks.configuration.storage_adapters).to include(described_class)
|
21
17
|
end
|
22
18
|
end
|
23
19
|
|
24
20
|
describe '.auto_register?' do
|
25
21
|
it 'returns true if auto_register is true' do
|
26
22
|
described_class.auto_register = true
|
27
|
-
described_class.auto_register
|
23
|
+
expect(described_class.auto_register?).to be_truthy
|
28
24
|
end
|
29
25
|
|
30
26
|
it 'returns false if auto_register is not true' do
|
31
27
|
described_class.auto_register = :ghosts
|
32
|
-
described_class.auto_register
|
28
|
+
expect(described_class.auto_register?).to be_falsy
|
33
29
|
end
|
34
30
|
|
35
31
|
it 'is true by default' do
|
36
32
|
described_class.auto_register = nil
|
37
|
-
described_class.auto_register
|
33
|
+
expect(described_class.auto_register?).to be_truthy
|
38
34
|
end
|
39
35
|
end
|
40
36
|
|
41
37
|
describe '.use?' do
|
42
38
|
it 'returns true if given storage class matches Sequel' do
|
43
|
-
described_class.use?(Sequel.connect('mock://ninja/turtles')).
|
39
|
+
expect(described_class.use?(Sequel.connect('mock://ninja/turtles'))).to be_truthy
|
44
40
|
end
|
45
41
|
|
46
42
|
it 'returns false if given storage class does not match Sequel' do
|
47
|
-
described_class.use?({}).
|
48
|
-
described_class.use?(nil).
|
49
|
-
described_class.use?('Sequel').
|
43
|
+
expect(described_class.use?({})).to be_falsy
|
44
|
+
expect(described_class.use?(nil)).to be_falsy
|
45
|
+
expect(described_class.use?('Sequel')).to be_falsy
|
50
46
|
end
|
51
47
|
end
|
52
48
|
|
53
|
-
describe '.
|
54
|
-
it 'returns
|
55
|
-
described_class.
|
49
|
+
describe '.driver' do
|
50
|
+
it 'returns ::Ruote::Sequel::Storage' do
|
51
|
+
expect(described_class.driver).to eq ::Ruote::Sequel::Storage
|
56
52
|
end
|
57
53
|
end
|
58
54
|
|
59
55
|
describe '.wrap_storage_with_driver' do
|
60
|
-
|
61
|
-
|
62
|
-
described_class.driver.should_receive(:new).with(:storage, { 'sequel_table_name' => 'choofles' }).ordered
|
63
|
-
described_class.wrap_storage_with_driver(:storage, 'sequel_table_name' => 'choofles')
|
56
|
+
before :each do
|
57
|
+
allow(described_class.driver).to receive(:new).with(:awesome_stuff, { 'sequel_table_name' => :furf }).and_return(:new_storage)
|
64
58
|
end
|
65
59
|
|
66
|
-
it '
|
67
|
-
::Ruote::Sequel.
|
68
|
-
described_class.
|
69
|
-
|
60
|
+
it 'instantiates driven storage with options' do
|
61
|
+
allow(::Ruote::Sequel).to receive(:create_table)
|
62
|
+
expect(described_class.wrap_storage_with_driver(:awesome_stuff, { 'sequel_table_name' => :furf })).to eq(:new_storage)
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'creates Bumbleworks documents table' do
|
66
|
+
expect(::Ruote::Sequel).to receive(:create_table).with(:awesome_stuff, false, :furf)
|
67
|
+
described_class.wrap_storage_with_driver(:awesome_stuff, { :sequel_table_name => :furf })
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'defaults Bumbleworks documents table to :bumbleworks_documents' do
|
71
|
+
expect(::Ruote::Sequel).to receive(:create_table).with(:awesome_stuff, false, 'bumbleworks_documents')
|
72
|
+
allow(described_class.driver).to receive(:new).with(:awesome_stuff, { 'sequel_table_name' => 'bumbleworks_documents' }).and_return(:new_storage)
|
73
|
+
expect(described_class.wrap_storage_with_driver(:awesome_stuff)).to eq(:new_storage)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe '.allow_history_storage?' do
|
78
|
+
it 'returns true' do
|
79
|
+
expect(described_class.allow_history_storage?).to be_truthy
|
70
80
|
end
|
71
81
|
end
|
72
82
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -8,7 +8,6 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
8
8
|
require_relative '../lib/bumbleworks/sequel'
|
9
9
|
|
10
10
|
RSpec.configure do |config|
|
11
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
11
|
config.run_all_when_everything_filtered = true
|
13
12
|
|
14
13
|
# Run specs in random order to surface order dependencies. If you find an
|
@@ -16,4 +15,9 @@ RSpec.configure do |config|
|
|
16
15
|
# the seed, which is printed after each run.
|
17
16
|
# --seed 1234
|
18
17
|
config.order = 'random'
|
18
|
+
|
19
|
+
config.before(:each) do
|
20
|
+
Bumbleworks.storage = nil
|
21
|
+
Bumbleworks.reset!
|
22
|
+
end
|
19
23
|
end
|
metadata
CHANGED
@@ -1,116 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bumbleworks-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ravi Gadad
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-06-25 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bumbleworks
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
22
|
-
- - ! '>='
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: 0.0.48
|
19
|
+
version: 0.0.74
|
25
20
|
type: :runtime
|
26
21
|
prerelease: false
|
27
22
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
23
|
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0.0'
|
33
|
-
- - ! '>='
|
24
|
+
- - ">="
|
34
25
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.0.
|
26
|
+
version: 0.0.74
|
36
27
|
- !ruby/object:Gem::Dependency
|
37
28
|
name: ruote-sequel
|
38
29
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
30
|
requirements:
|
41
|
-
- -
|
31
|
+
- - ">="
|
42
32
|
- !ruby/object:Gem::Version
|
43
33
|
version: '0'
|
44
34
|
type: :runtime
|
45
35
|
prerelease: false
|
46
36
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
37
|
requirements:
|
49
|
-
- -
|
38
|
+
- - ">="
|
50
39
|
- !ruby/object:Gem::Version
|
51
40
|
version: '0'
|
52
41
|
- !ruby/object:Gem::Dependency
|
53
42
|
name: bundler
|
54
43
|
requirement: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
44
|
requirements:
|
57
|
-
- - ~>
|
45
|
+
- - "~>"
|
58
46
|
- !ruby/object:Gem::Version
|
59
47
|
version: '1.3'
|
60
48
|
type: :development
|
61
49
|
prerelease: false
|
62
50
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
51
|
requirements:
|
65
|
-
- - ~>
|
52
|
+
- - "~>"
|
66
53
|
- !ruby/object:Gem::Version
|
67
54
|
version: '1.3'
|
68
55
|
- !ruby/object:Gem::Dependency
|
69
56
|
name: rake
|
70
57
|
requirement: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
58
|
requirements:
|
73
|
-
- -
|
59
|
+
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
61
|
version: '0'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
65
|
requirements:
|
81
|
-
- -
|
66
|
+
- - ">="
|
82
67
|
- !ruby/object:Gem::Version
|
83
68
|
version: '0'
|
84
69
|
- !ruby/object:Gem::Dependency
|
85
70
|
name: rspec
|
86
71
|
requirement: !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
72
|
requirements:
|
89
|
-
- -
|
73
|
+
- - "~>"
|
90
74
|
- !ruby/object:Gem::Version
|
91
|
-
version: '0'
|
75
|
+
version: '3.0'
|
92
76
|
type: :development
|
93
77
|
prerelease: false
|
94
78
|
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
79
|
requirements:
|
97
|
-
- -
|
80
|
+
- - "~>"
|
98
81
|
- !ruby/object:Gem::Version
|
99
|
-
version: '0'
|
82
|
+
version: '3.0'
|
100
83
|
- !ruby/object:Gem::Dependency
|
101
84
|
name: simplecov
|
102
85
|
requirement: !ruby/object:Gem::Requirement
|
103
|
-
none: false
|
104
86
|
requirements:
|
105
|
-
- -
|
87
|
+
- - ">="
|
106
88
|
- !ruby/object:Gem::Version
|
107
89
|
version: '0'
|
108
90
|
type: :development
|
109
91
|
prerelease: false
|
110
92
|
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
93
|
requirements:
|
113
|
-
- -
|
94
|
+
- - ">="
|
114
95
|
- !ruby/object:Gem::Version
|
115
96
|
version: '0'
|
116
97
|
description: Sequel support for Bumbleworks process storage
|
@@ -120,8 +101,9 @@ executables: []
|
|
120
101
|
extensions: []
|
121
102
|
extra_rdoc_files: []
|
122
103
|
files:
|
123
|
-
- .gitignore
|
124
|
-
- .rspec
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rspec"
|
106
|
+
- ".ruby-version"
|
125
107
|
- Gemfile
|
126
108
|
- LICENSE.txt
|
127
109
|
- README.md
|
@@ -136,31 +118,29 @@ files:
|
|
136
118
|
homepage: ''
|
137
119
|
licenses:
|
138
120
|
- MIT
|
121
|
+
metadata: {}
|
139
122
|
post_install_message:
|
140
123
|
rdoc_options: []
|
141
124
|
require_paths:
|
142
125
|
- lib
|
143
126
|
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
-
none: false
|
145
127
|
requirements:
|
146
|
-
- -
|
128
|
+
- - ">="
|
147
129
|
- !ruby/object:Gem::Version
|
148
130
|
version: '0'
|
149
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
132
|
requirements:
|
152
|
-
- -
|
133
|
+
- - ">="
|
153
134
|
- !ruby/object:Gem::Version
|
154
135
|
version: '0'
|
155
136
|
requirements: []
|
156
137
|
rubyforge_project:
|
157
|
-
rubygems_version:
|
138
|
+
rubygems_version: 2.2.2
|
158
139
|
signing_key:
|
159
|
-
specification_version:
|
140
|
+
specification_version: 4
|
160
141
|
summary: This gem allows you to use any of a number of RDBMSes (via the Sequel ORM)
|
161
142
|
for your Bumbleworks process storage.
|
162
143
|
test_files:
|
163
144
|
- spec/lib/bumbleworks/ruote_spec.rb
|
164
145
|
- spec/lib/bumbleworks/sequel/adapter_spec.rb
|
165
146
|
- spec/spec_helper.rb
|
166
|
-
has_rdoc:
|