adhearsion-activerecord 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,6 @@
1
1
  require "adhearsion"
2
+ require 'active_record'
3
+
2
4
  require "active_support/dependencies/autoload"
3
5
 
4
6
  require "adhearsion/activerecord/version"
@@ -9,14 +9,10 @@ module Adhearsion
9
9
  def start
10
10
  raise "Must supply an adapter argument to the ActiveRecord configuration" if (config.adapter.nil? || config.adapter.empty?)
11
11
 
12
- require_dependencies
13
- require_models
14
-
15
12
  params = config.__values.select { |k,v| !v.nil? }
16
13
 
17
- # You may need to uncomment the following line for older versions of ActiveRecord
18
- # ActiveRecord::Base.allow_concurrency = true
19
- establish_connection params.tap { |p| p.delete :model_paths }
14
+ require_models(*params.delete(:model_paths))
15
+ establish_connection params
20
16
 
21
17
  ::ActiveRecord::Base.logger = logger
22
18
 
@@ -32,39 +28,27 @@ module Adhearsion
32
28
  private
33
29
 
34
30
  def create_call_hook_for_connection_cleanup
35
- Adhearsion::Events.register_callback([:before_call]) do
31
+ Adhearsion::Events.punchblock Punchblock::Event::Offer do
36
32
  ::ActiveRecord::Base.verify_active_connections!
37
33
  end
38
34
  end
39
35
 
40
-
41
- def require_dependencies
42
- begin
43
- require 'active_record'
44
- rescue LoadError
45
- logger.fatal "Database support requires the \"activerecord\" gem."
46
- # Silence the abort so we don't get an ugly backtrace
47
- abort ""
48
- end
49
- end
50
-
51
- def require_models
52
- Array(config.model_paths).each { |model| load model }
36
+ def require_models(*paths)
37
+ paths.each { |model| require model }
53
38
  end
54
39
 
55
40
  ##
56
41
  # Start the ActiveRecord connection with the configured database
57
42
  #
58
43
  # @param params [Hash] Options to establish the database connection
59
- def establish_connection params
60
- p params
44
+ def establish_connection(params)
61
45
  ::ActiveRecord::Base.establish_connection params
62
46
  end
63
47
 
64
48
  ##
65
49
  # Access to activerecord plugin configuration
66
50
  def config
67
- @config ||= Adhearsion.config[:adhearsion_activerecord]
51
+ @config ||= Plugin.config
68
52
  end
69
53
 
70
54
  end # class << self
@@ -1,5 +1,5 @@
1
1
  module Adhearsion
2
2
  module ActiveRecord
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhearsion-activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-01-18 00:00:00.000000000 Z
13
+ date: 2012-09-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: adhearsion
17
- requirement: &2168903400 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,15 @@ dependencies:
22
22
  version: 2.0.0.alpha1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2168903400
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: 2.0.0.alpha1
26
31
  - !ruby/object:Gem::Dependency
27
32
  name: activerecord
28
- requirement: &2168902700 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
36
  - - ! '>='
@@ -33,10 +38,15 @@ dependencies:
33
38
  version: '0'
34
39
  type: :runtime
35
40
  prerelease: false
36
- version_requirements: *2168902700
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: rspec
39
- requirement: &2168901880 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ! '>='
@@ -44,7 +54,12 @@ dependencies:
44
54
  version: '0'
45
55
  type: :development
46
56
  prerelease: false
47
- version_requirements: *2168901880
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
48
63
  description: This gem provides an Adhearsion plugin to handle the ActiveRecord and
49
64
  database integration
50
65
  email:
@@ -84,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
99
  version: '0'
85
100
  segments:
86
101
  - 0
87
- hash: 3783427714437506130
102
+ hash: -3927977919162315355
88
103
  required_rubygems_version: !ruby/object:Gem::Requirement
89
104
  none: false
90
105
  requirements:
@@ -93,10 +108,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
108
  version: '0'
94
109
  segments:
95
110
  - 0
96
- hash: 3783427714437506130
111
+ hash: -3927977919162315355
97
112
  requirements: []
98
113
  rubyforge_project: adhearsion-activerecord
99
- rubygems_version: 1.8.10
114
+ rubygems_version: 1.8.23
100
115
  signing_key:
101
116
  specification_version: 3
102
117
  summary: This gem provides an Adhearsion plugin to handle the ActiveRecord and database