bumbleworks-sequel 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -15,4 +15,3 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
- .ruby-version
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
1
  --color
2
- --format=nested
2
+ --format documentation
3
3
  --require spec_helper
@@ -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
  ```
@@ -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", "~> 0.0", ">= 0.0.48"
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
@@ -1,5 +1,5 @@
1
1
  module Bumbleworks
2
2
  module Sequel
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  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
- Bumbleworks::Sequel::Adapter.should_receive(:wrap_storage_with_driver).with(storage, {})
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.stub(:auto_register?).and_return(false)
11
- Bumbleworks.configuration.storage_adapters.should_not include(described_class)
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.should include(described_class)
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.stub(:auto_register?).and_return(true)
20
- Bumbleworks.configuration.storage_adapters.should include(described_class)
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?.should be_true
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?.should be_false
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?.should be_true
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')).should be_true
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?({}).should be_false
48
- described_class.use?(nil).should be_false
49
- described_class.use?('Sequel').should be_false
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 '.allow_history_storage?' do
54
- it 'returns true' do
55
- described_class.allow_history_storage?.should be_true
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
- it 'creates the table and returns new ruote storage' do
61
- ::Ruote::Sequel.should_receive(:create_table).with(:storage, false, 'choofles').ordered
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 'defaults the table name to bumbleworks_documents' do
67
- ::Ruote::Sequel.should_receive(:create_table).with(:storage, false, 'bumbleworks_documents').ordered
68
- described_class.driver.should_receive(:new).with(:storage, { 'sequel_table_name' => 'bumbleworks_documents' }).ordered
69
- described_class.wrap_storage_with_driver(:storage)
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
@@ -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.3
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: 2013-12-05 00:00:00.000000000 Z
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: '0.0'
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.48
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: 1.8.23
138
+ rubygems_version: 2.2.2
158
139
  signing_key:
159
- specification_version: 3
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: