adhearsion-activerecord 0.1.0 → 0.2.0

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