sequella 1.0.0 → 1.0.1
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 +4 -4
- data/lib/sequella/plugin.rb +2 -5
- data/lib/sequella/service.rb +64 -0
- data/lib/sequella/version.rb +1 -1
- data/sequella.gemspec +0 -1
- data/spec/sequella/{plugin/service_spec.rb → service_spec.rb} +2 -2
- metadata +5 -20
- data/lib/sequella/plugin/service.rb +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adc52d89fdc151212e3bd84bba160ec42288eda8
|
4
|
+
data.tar.gz: caa1f464289d2ad9550260c1e496132ab264eaba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d8c8eaadecbf66a86836ffcfe32c9f564d99bdb1478869e2d64f05393d9ef47939d8ac5c17977f69f57301fccb7afdb4a006f3ed88a6556407e50d7e2db76bf
|
7
|
+
data.tar.gz: 19077d991eab0f14bc693e903e8a63136ff2e69dd7632cf11805a60ac572a41bb5ff21631285deeb05b0bb6b0b81565435ddac011f98531d7b238231710f51f5
|
data/lib/sequella/plugin.rb
CHANGED
@@ -1,10 +1,7 @@
|
|
1
1
|
require 'sequel'
|
2
|
+
require 'sequella/service'
|
2
3
|
|
3
4
|
class Sequella::Plugin < Adhearsion::Plugin
|
4
|
-
extend ActiveSupport::Autoload
|
5
|
-
|
6
|
-
autoload :Service, 'sequella/plugin/service'
|
7
|
-
|
8
5
|
# Configure a database to use Sequel-backed models.
|
9
6
|
# See http://sequel.rubyforge.org/rdoc/classes/Sequel/Database.html
|
10
7
|
#
|
@@ -30,7 +27,7 @@ class Sequella::Plugin < Adhearsion::Plugin
|
|
30
27
|
task :migrate => :environment do
|
31
28
|
Service.start Adhearsion.config[:sequella]
|
32
29
|
Sequel.extension :migration
|
33
|
-
Sequel::Migrator.run Sequella::
|
30
|
+
Sequel::Migrator.run Sequella::Service.connection, File.join(Adhearsion.root, 'db', 'migrations'), :use_transactions=>true
|
34
31
|
puts "Successfully migrated database"
|
35
32
|
end
|
36
33
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Sequella
|
2
|
+
class Service
|
3
|
+
cattr_accessor :connection
|
4
|
+
|
5
|
+
class << self
|
6
|
+
|
7
|
+
##
|
8
|
+
# Start the Sequel connection with the configured database
|
9
|
+
def start(config)
|
10
|
+
raise "Must supply an adapter argument to the Sequel configuration" if (config.adapter.nil? || config.adapter.empty?)
|
11
|
+
|
12
|
+
params = config.to_hash.select { |k,v| !v.nil? }
|
13
|
+
|
14
|
+
@@connection = establish_connection params
|
15
|
+
require_models(*params.delete(:model_paths))
|
16
|
+
|
17
|
+
# Provide Sequel a handle on the Adhearsion logger
|
18
|
+
params[:loggers] = Array(params[:loggers]) << logger
|
19
|
+
|
20
|
+
create_call_hook_for_connection_cleanup
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Stop the database connection
|
25
|
+
def stop
|
26
|
+
logger.warn "Todo: Close down Sequel connections"
|
27
|
+
end
|
28
|
+
|
29
|
+
def create_call_hook_for_connection_cleanup
|
30
|
+
# There does not seem to be an equivalent in Sequel
|
31
|
+
#Adhearsion::Events.punchblock Punchblock::Event::Offer do
|
32
|
+
# ::ActiveRecord::Base.verify_active_connections!
|
33
|
+
#end
|
34
|
+
end
|
35
|
+
|
36
|
+
def require_models(*paths)
|
37
|
+
paths.each do |path|
|
38
|
+
path = qualify_path path
|
39
|
+
logger.debug "Loading Sequel models from #{path}"
|
40
|
+
Dir.glob("#{path}/*.rb") do |model|
|
41
|
+
require model
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def qualify_path(path)
|
47
|
+
if path =~ /^\//
|
48
|
+
path
|
49
|
+
else
|
50
|
+
File.join Adhearsion.root, path
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
##
|
55
|
+
# Start the Sequel connection with the configured database
|
56
|
+
#
|
57
|
+
# @param params [Hash] Options to establish the database connection
|
58
|
+
def establish_connection(params)
|
59
|
+
::Sequel.connect params
|
60
|
+
end
|
61
|
+
|
62
|
+
end # class << self
|
63
|
+
end # Service
|
64
|
+
end
|
data/lib/sequella/version.rb
CHANGED
data/sequella.gemspec
CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
20
|
s.add_runtime_dependency %q<adhearsion>, ["~> 2.1"]
|
21
|
-
s.add_runtime_dependency %q<activesupport>, [">= 3.0.10"]
|
22
21
|
s.add_runtime_dependency %q<sequel>, [">= 3.40.0"]
|
23
22
|
|
24
23
|
s.add_development_dependency %q<bundler>, ["~> 1.0"]
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'ostruct'
|
3
3
|
|
4
|
-
describe Sequella::
|
5
|
-
subject { Sequella::
|
4
|
+
describe Sequella::Service do
|
5
|
+
subject { Sequella::Service }
|
6
6
|
|
7
7
|
describe '#start' do
|
8
8
|
it 'should raise if start attempted without an adapter specified' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequella
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Klang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: adhearsion
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.1'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: activesupport
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 3.0.10
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 3.0.10
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: sequel
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,10 +153,10 @@ files:
|
|
167
153
|
- TODO.md
|
168
154
|
- lib/sequella.rb
|
169
155
|
- lib/sequella/plugin.rb
|
170
|
-
- lib/sequella/
|
156
|
+
- lib/sequella/service.rb
|
171
157
|
- lib/sequella/version.rb
|
172
158
|
- sequella.gemspec
|
173
|
-
- spec/sequella/
|
159
|
+
- spec/sequella/service_spec.rb
|
174
160
|
- spec/spec_helper.rb
|
175
161
|
homepage: ''
|
176
162
|
licenses: []
|
@@ -196,6 +182,5 @@ signing_key:
|
|
196
182
|
specification_version: 4
|
197
183
|
summary: Sequel ORM plugin for Adhearsion
|
198
184
|
test_files:
|
199
|
-
- spec/sequella/
|
185
|
+
- spec/sequella/service_spec.rb
|
200
186
|
- spec/spec_helper.rb
|
201
|
-
has_rdoc:
|
@@ -1,63 +0,0 @@
|
|
1
|
-
class Sequella::Plugin::Service
|
2
|
-
cattr_accessor :connection
|
3
|
-
|
4
|
-
class << self
|
5
|
-
|
6
|
-
##
|
7
|
-
# Start the Sequel connection with the configured database
|
8
|
-
def start(config)
|
9
|
-
raise "Must supply an adapter argument to the Sequel configuration" if (config.adapter.nil? || config.adapter.empty?)
|
10
|
-
|
11
|
-
params = config.to_hash.select { |k,v| !v.nil? }
|
12
|
-
|
13
|
-
@@connection = establish_connection params
|
14
|
-
require_models(*params.delete(:model_paths))
|
15
|
-
|
16
|
-
# Provide Sequel a handle on the Adhearsion logger
|
17
|
-
params[:loggers] = Array(params[:loggers]) << logger
|
18
|
-
|
19
|
-
create_call_hook_for_connection_cleanup
|
20
|
-
end
|
21
|
-
|
22
|
-
##
|
23
|
-
# Stop the database connection
|
24
|
-
def stop
|
25
|
-
logger.warn "Todo: Close down Sequel connections"
|
26
|
-
end
|
27
|
-
|
28
|
-
def create_call_hook_for_connection_cleanup
|
29
|
-
# There does not seem to be an equivalent in Sequel
|
30
|
-
#Adhearsion::Events.punchblock Punchblock::Event::Offer do
|
31
|
-
# ::ActiveRecord::Base.verify_active_connections!
|
32
|
-
#end
|
33
|
-
end
|
34
|
-
|
35
|
-
def require_models(*paths)
|
36
|
-
paths.each do |path|
|
37
|
-
path = qualify_path path
|
38
|
-
logger.debug "Loading Sequel models from #{path}"
|
39
|
-
Dir.glob("#{path}/*.rb") do |model|
|
40
|
-
require model
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def qualify_path(path)
|
46
|
-
if path =~ /^\//
|
47
|
-
path
|
48
|
-
else
|
49
|
-
File.join Adhearsion.root, path
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
##
|
54
|
-
# Start the Sequel connection with the configured database
|
55
|
-
#
|
56
|
-
# @param params [Hash] Options to establish the database connection
|
57
|
-
def establish_connection(params)
|
58
|
-
::Sequel.connect params
|
59
|
-
end
|
60
|
-
|
61
|
-
end # class << self
|
62
|
-
end # Service
|
63
|
-
|