db-charmer 1.5.0 → 1.5.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.
data/CHANGES CHANGED
@@ -1,3 +1,15 @@
1
+ 1.5.0 -> 1.5.1:
2
+
3
+ In this version we've added support for connection names logging in Rails queries log.
4
+ New log records have [connection_name] prefix for all queries that are executed on
5
+ non-standard connections:
6
+
7
+ [logs] LogRecord Columns (1.1ms) SHOW FIELDS FROM `log_records`
8
+ [logs] User Delete all (0.1ms) DELETE FROM `users`
9
+ [slave01] User Load (0.2ms) SELECT * FROM `users` WHERE (`users`.`login` = 'foo')
10
+
11
+ ----------------------------------------------------------------------------------------
12
+
1
13
  1.4.6 -> 1.5.0:
2
14
 
3
15
  Major change in this version of DbCharmer is association preload support. For example,
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.5.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{db-charmer}
8
- s.version = "1.5.0"
8
+ s.version = "1.5.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alexey Kovyrin"]
12
- s.date = %q{2010-03-05}
12
+ s.date = %q{2010-03-06}
13
13
  s.description = %q{ActiveRecord Connections Magic (slaves, multiple connections, etc)}
14
14
  s.email = %q{alexey@kovyrin.net}
15
15
  s.extra_rdoc_files = [
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  "db-charmer.gemspec",
28
28
  "init.rb",
29
29
  "lib/db_charmer.rb",
30
+ "lib/db_charmer/abstract_adapter_extensions.rb",
30
31
  "lib/db_charmer/active_record_extensions.rb",
31
32
  "lib/db_charmer/association_preload.rb",
32
33
  "lib/db_charmer/connection_factory.rb",
@@ -37,6 +37,8 @@ require 'blankslate'
37
37
  #puts "Extending AR..."
38
38
 
39
39
  require 'db_charmer/active_record_extensions'
40
+ require 'db_charmer/abstract_adapter_extensions'
41
+
40
42
  require 'db_charmer/connection_factory'
41
43
  require 'db_charmer/connection_proxy'
42
44
  require 'db_charmer/connection_switch'
@@ -45,6 +47,7 @@ require 'db_charmer/multi_db_proxy'
45
47
 
46
48
  # Enable misc AR extensions
47
49
  ActiveRecord::Base.extend(DbCharmer::ActiveRecordExtensions::ClassMethods)
50
+ ActiveRecord::ConnectionAdapters::AbstractAdapter.send(:include, DbCharmer::AbstractAdapterExtensions::InstanceMethods)
48
51
 
49
52
  # Enable connections switching in AR
50
53
  ActiveRecord::Base.extend(DbCharmer::ConnectionSwitch::ClassMethods)
@@ -0,0 +1,22 @@
1
+ module DbCharmer
2
+ module AbstractAdapterExtensions
3
+ module InstanceMethods
4
+ def self.included(base)
5
+ base.alias_method_chain :format_log_entry, :connection_name
6
+ end
7
+
8
+ def connection_name
9
+ @connection_name
10
+ end
11
+
12
+ def connection_name=(name)
13
+ @connection_name = name
14
+ end
15
+
16
+ def format_log_entry_with_connection_name(message, dump = nil)
17
+ msg = connection_name ? "[#{connection_name}] " : ''
18
+ msg << format_log_entry_without_connection_name(message, dump)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -8,6 +8,7 @@ module DbCharmer
8
8
  raise ArgumentError, "Invalid connection name (does not exist in database.yml): #{RAILS_ENV}/#{name}"
9
9
  end
10
10
  establish_connection(config) if config
11
+ connection.connection_name = name.to_s
11
12
  end
12
13
 
13
14
  #-----------------------------------------------------------------------------
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 5
8
- - 0
9
- version: 1.5.0
8
+ - 1
9
+ version: 1.5.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alexey Kovyrin
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-05 00:00:00 -05:00
17
+ date: 2010-03-06 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -63,6 +63,7 @@ files:
63
63
  - db-charmer.gemspec
64
64
  - init.rb
65
65
  - lib/db_charmer.rb
66
+ - lib/db_charmer/abstract_adapter_extensions.rb
66
67
  - lib/db_charmer/active_record_extensions.rb
67
68
  - lib/db_charmer/association_preload.rb
68
69
  - lib/db_charmer/connection_factory.rb