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.
@@ -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: