my_stuff-multidb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,10 @@ module MyStuff
12
12
  end
13
13
 
14
14
  module ClassMethods
15
+ def base_class
16
+ self
17
+ end
18
+
15
19
  def magic_database
16
20
  @magic_database ||= self.name.split('::').tap(&:pop).join('::').constantize.magic_database
17
21
  end
@@ -24,6 +28,10 @@ module MyStuff
24
28
  magic_database.connection
25
29
  end
26
30
 
31
+ def connection_pool
32
+ magic_database.connection_pool
33
+ end
34
+
27
35
  def abstract_class?; true; end
28
36
 
29
37
  def model_name
@@ -35,6 +43,7 @@ module MyStuff
35
43
 
36
44
  def inherited(child)
37
45
  def child.abstract_class?; false; end
46
+ def child.base_class; self; end
38
47
  super
39
48
  end
40
49
  end
@@ -1,6 +1,7 @@
1
1
  # Copyright 2011-present Fred Emmott. See COPYING file.
2
2
 
3
3
  require 'base64'
4
+ require 'my_stuff/logger'
4
5
 
5
6
  module MyStuff
6
7
  # =Example
@@ -111,6 +112,7 @@ module MyStuff
111
112
  if self.const_defined? db_key
112
113
  db = self.const_get(db_key)
113
114
  else
115
+ l 'connecting to database: ', spec
114
116
  db = Class.new ActiveRecord::Base
115
117
  def db.abstract_class?; true; end
116
118
  self.const_set(db_key, db)
metadata CHANGED
@@ -1,61 +1,76 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: my_stuff-multidb
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
4
5
  prerelease:
5
- version: 0.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Fred Emmott
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-08-17 00:00:00 Z
14
- dependencies: []
15
-
16
- description: ""
17
- email:
12
+ date: 2011-09-04 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: my_stuff-logger
16
+ requirement: &70305004706900 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.0.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70305004706900
25
+ - !ruby/object:Gem::Dependency
26
+ name: activerecord
27
+ requirement: &70305004704620 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 3.0.7
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70305004704620
36
+ description: ''
37
+ email:
18
38
  - mail@fredemmott.co.uk
19
- executables:
39
+ executables:
20
40
  - my_stuff-multidb-unmangle
21
41
  extensions: []
22
-
23
42
  extra_rdoc_files: []
24
-
25
- files:
43
+ files:
26
44
  - COPYING
27
45
  - README.rdoc
28
46
  - bin/my_stuff-multidb-unmangle
29
- - lib/my_stuff/multidb/sharded.rb
30
47
  - lib/my_stuff/multidb/base.rb
48
+ - lib/my_stuff/multidb/sharded.rb
31
49
  - lib/my_stuff/multidb/unsharded.rb
32
50
  - lib/my_stuff/multidb.rb
33
51
  homepage: https://github.com/fredemmott/my_stuff-multidb
34
- licenses:
52
+ licenses:
35
53
  - ISC
36
54
  post_install_message:
37
55
  rdoc_options: []
38
-
39
- require_paths:
56
+ require_paths:
40
57
  - lib
41
- required_ruby_version: !ruby/object:Gem::Requirement
58
+ required_ruby_version: !ruby/object:Gem::Requirement
42
59
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
47
- required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
65
  none: false
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
53
70
  requirements: []
54
-
55
71
  rubyforge_project:
56
72
  rubygems_version: 1.8.6
57
73
  signing_key:
58
74
  specification_version: 3
59
75
  summary: ActiveRecord sharding/slaves library
60
76
  test_files: []
61
-