data_fabric 1.2.3 → 1.2.4
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/CHANGELOG +8 -2
- data/Manifest +1 -0
- data/Rakefile +2 -2
- data/data_fabric.gemspec +5 -5
- data/lib/data_fabric/ar22.rb +2 -2
- data/lib/data_fabric/dash.rb +20 -0
- data/lib/data_fabric/version.rb +1 -1
- data/test/connection_test.rb +3 -1
- metadata +5 -3
data/CHANGELOG
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
DataFabric changelog
|
2
2
|
|
3
|
-
v1.2.
|
3
|
+
v1.2.4 - 2009-03-09
|
4
|
+
|
5
|
+
- Add FiveRuns Dash recipe for data_fabric. See http://dash.fiveruns.com for details.
|
6
|
+
- Fixed incorrect remove_connection method signature.
|
7
|
+
- The official data_fabric repository is now http://github.com/mperham/data_fabric.
|
8
|
+
|
9
|
+
v1.2.3 - 2009-02-05
|
4
10
|
|
5
11
|
- Release connections at the end of each Rails action. If you see 5 second
|
6
12
|
pauses in your application, it's because the connection pool is timing out
|
@@ -32,4 +38,4 @@ v1.1.0 - 2008-11-22
|
|
32
38
|
|
33
39
|
Detailed commit history:
|
34
40
|
|
35
|
-
http://github.com/
|
41
|
+
http://github.com/mperham/data_fabric/commits/master
|
data/Manifest
CHANGED
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ Echoe.new 'data_fabric' do |p|
|
|
9
9
|
p.email = 'mperham@gmail.com'
|
10
10
|
p.project = 'fiveruns'
|
11
11
|
p.summary = 'Sharding and replication support for ActiveRecord 2.x'
|
12
|
-
p.url = "http://github.com/
|
12
|
+
p.url = "http://github.com/mperham/data_fabric"
|
13
13
|
p.development_dependencies = []
|
14
14
|
p.rubygems_version = nil
|
15
15
|
p.include_rakefile = true
|
@@ -90,8 +90,8 @@ def create_mysql(create, db_name)
|
|
90
90
|
end
|
91
91
|
|
92
92
|
# Test coverage
|
93
|
-
gem 'spicycode-rcov' rescue nil
|
94
93
|
begin
|
94
|
+
gem 'spicycode-rcov' rescue nil
|
95
95
|
require 'rcov/rcovtask'
|
96
96
|
|
97
97
|
desc "Generate coverage numbers for all locally installed versions of ActiveRecord"
|
data/data_fabric.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{data_fabric}
|
5
|
-
s.version = "1.2.
|
5
|
+
s.version = "1.2.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Mike Perham"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-03-09}
|
10
10
|
s.description = %q{Sharding and replication support for ActiveRecord 2.x}
|
11
11
|
s.email = %q{mperham@gmail.com}
|
12
|
-
s.extra_rdoc_files = ["CHANGELOG", "lib/data_fabric/ar20.rb", "lib/data_fabric/ar22.rb", "lib/data_fabric/version.rb", "lib/data_fabric.rb", "README.rdoc"]
|
13
|
-
s.files = ["CHANGELOG", "example/app/controllers/accounts_controller.rb", "example/app/controllers/application.rb", "example/app/controllers/figments_controller.rb", "example/app/helpers/accounts_helper.rb", "example/app/helpers/application_helper.rb", "example/app/helpers/figments_helper.rb", "example/app/models/account.rb", "example/app/models/figment.rb", "example/app/views/accounts/index.html.erb", "example/app/views/layouts/application.html.erb", "example/config/boot.rb", "example/config/database.yml", "example/config/environment.rb", "example/config/environments/development.rb", "example/config/environments/production.rb", "example/config/environments/test.rb", "example/config/initializers/inflections.rb", "example/config/initializers/mime_types.rb", "example/config/initializers/new_rails_defaults.rb", "example/config/routes.rb", "example/db/migrate/20080702154628_create_accounts.rb", "example/db/migrate/20080702154820_create_figments.rb", "example/db/schema.rb", "example/public/404.html", "example/public/422.html", "example/public/500.html", "example/public/dispatch.cgi", "example/public/dispatch.fcgi", "example/public/dispatch.rb", "example/public/favicon.ico", "example/public/images/rails.png", "example/public/robots.txt", "example/Rakefile", "example/script/about", "example/script/console", "example/script/dbconsole", "example/script/destroy", "example/script/generate", "example/script/performance/benchmarker", "example/script/performance/profiler", "example/script/performance/request", "example/script/plugin", "example/script/process/inspector", "example/script/process/reaper", "example/script/process/spawner", "example/script/runner", "example/script/server", "example/test/fixtures/accounts.yml", "example/test/functional/accounts_controller_test.rb", "example/test/integration/account_figments_test.rb", "example/test/test_helper.rb", "example22/app/controllers/accounts_controller.rb", "example22/app/controllers/application.rb", "example22/app/controllers/figments_controller.rb", "example22/app/helpers/application_helper.rb", "example22/app/models/account.rb", "example22/app/models/figment.rb", "example22/app/views/accounts/index.html.erb", "example22/app/views/layouts/application.html.erb", "example22/config/boot.rb", "example22/config/database.yml", "example22/config/environment.rb", "example22/config/environments/development.rb", "example22/config/environments/production.rb", "example22/config/environments/test.rb", "example22/config/initializers/inflections.rb", "example22/config/initializers/mime_types.rb", "example22/config/initializers/new_rails_defaults.rb", "example22/config/locales/en.yml", "example22/config/routes.rb", "example22/db/migrate/20080702154628_create_accounts.rb", "example22/db/migrate/20080702154820_create_figments.rb", "example22/public/404.html", "example22/public/422.html", "example22/public/500.html", "example22/public/dispatch.cgi", "example22/public/dispatch.fcgi", "example22/public/dispatch.rb", "example22/public/favicon.ico", "example22/public/images/rails.png", "example22/public/index.html", "example22/public/robots.txt", "example22/Rakefile", "example22/script/about", "example22/script/console", "example22/script/dbconsole", "example22/script/destroy", "example22/script/generate", "example22/script/performance/benchmarker", "example22/script/performance/profiler", "example22/script/performance/request", "example22/script/plugin", "example22/script/process/inspector", "example22/script/process/reaper", "example22/script/process/spawner", "example22/script/runner", "example22/script/server", "example22/test/fixtures/accounts.yml", "example22/test/functional/accounts_controller_test.rb", "example22/test/integration/account_figments_test.rb", "example22/test/performance/browsing_test.rb", "example22/test/test_helper.rb", "init.rb", "lib/data_fabric/ar20.rb", "lib/data_fabric/ar22.rb", "lib/data_fabric/version.rb", "lib/data_fabric.rb", "Manifest", "Rakefile", "README.rdoc", "test/connection_test.rb", "test/database.yml", "test/database.yml.mysql", "test/database_test.rb", "test/shard_test.rb", "test/test_helper.rb", "test/thread_test.rb", "TESTING.rdoc", "data_fabric.gemspec"]
|
12
|
+
s.extra_rdoc_files = ["CHANGELOG", "lib/data_fabric/ar20.rb", "lib/data_fabric/ar22.rb", "lib/data_fabric/version.rb", "lib/data_fabric/dash.rb", "lib/data_fabric.rb", "README.rdoc"]
|
13
|
+
s.files = ["CHANGELOG", "example/app/controllers/accounts_controller.rb", "example/app/controllers/application.rb", "example/app/controllers/figments_controller.rb", "example/app/helpers/accounts_helper.rb", "example/app/helpers/application_helper.rb", "example/app/helpers/figments_helper.rb", "example/app/models/account.rb", "example/app/models/figment.rb", "example/app/views/accounts/index.html.erb", "example/app/views/layouts/application.html.erb", "example/config/boot.rb", "example/config/database.yml", "example/config/environment.rb", "example/config/environments/development.rb", "example/config/environments/production.rb", "example/config/environments/test.rb", "example/config/initializers/inflections.rb", "example/config/initializers/mime_types.rb", "example/config/initializers/new_rails_defaults.rb", "example/config/routes.rb", "example/db/migrate/20080702154628_create_accounts.rb", "example/db/migrate/20080702154820_create_figments.rb", "example/db/schema.rb", "example/public/404.html", "example/public/422.html", "example/public/500.html", "example/public/dispatch.cgi", "example/public/dispatch.fcgi", "example/public/dispatch.rb", "example/public/favicon.ico", "example/public/images/rails.png", "example/public/robots.txt", "example/Rakefile", "example/script/about", "example/script/console", "example/script/dbconsole", "example/script/destroy", "example/script/generate", "example/script/performance/benchmarker", "example/script/performance/profiler", "example/script/performance/request", "example/script/plugin", "example/script/process/inspector", "example/script/process/reaper", "example/script/process/spawner", "example/script/runner", "example/script/server", "example/test/fixtures/accounts.yml", "example/test/functional/accounts_controller_test.rb", "example/test/integration/account_figments_test.rb", "example/test/test_helper.rb", "example22/app/controllers/accounts_controller.rb", "example22/app/controllers/application.rb", "example22/app/controllers/figments_controller.rb", "example22/app/helpers/application_helper.rb", "example22/app/models/account.rb", "example22/app/models/figment.rb", "example22/app/views/accounts/index.html.erb", "example22/app/views/layouts/application.html.erb", "example22/config/boot.rb", "example22/config/database.yml", "example22/config/environment.rb", "example22/config/environments/development.rb", "example22/config/environments/production.rb", "example22/config/environments/test.rb", "example22/config/initializers/inflections.rb", "example22/config/initializers/mime_types.rb", "example22/config/initializers/new_rails_defaults.rb", "example22/config/locales/en.yml", "example22/config/routes.rb", "example22/db/migrate/20080702154628_create_accounts.rb", "example22/db/migrate/20080702154820_create_figments.rb", "example22/public/404.html", "example22/public/422.html", "example22/public/500.html", "example22/public/dispatch.cgi", "example22/public/dispatch.fcgi", "example22/public/dispatch.rb", "example22/public/favicon.ico", "example22/public/images/rails.png", "example22/public/index.html", "example22/public/robots.txt", "example22/Rakefile", "example22/script/about", "example22/script/console", "example22/script/dbconsole", "example22/script/destroy", "example22/script/generate", "example22/script/performance/benchmarker", "example22/script/performance/profiler", "example22/script/performance/request", "example22/script/plugin", "example22/script/process/inspector", "example22/script/process/reaper", "example22/script/process/spawner", "example22/script/runner", "example22/script/server", "example22/test/fixtures/accounts.yml", "example22/test/functional/accounts_controller_test.rb", "example22/test/integration/account_figments_test.rb", "example22/test/performance/browsing_test.rb", "example22/test/test_helper.rb", "init.rb", "lib/data_fabric/ar20.rb", "lib/data_fabric/ar22.rb", "lib/data_fabric/version.rb", "lib/data_fabric/dash.rb", "lib/data_fabric.rb", "Manifest", "Rakefile", "README.rdoc", "test/connection_test.rb", "test/database.yml", "test/database.yml.mysql", "test/database_test.rb", "test/shard_test.rb", "test/test_helper.rb", "test/thread_test.rb", "TESTING.rdoc", "data_fabric.gemspec"]
|
14
14
|
s.has_rdoc = true
|
15
|
-
s.homepage = %q{http://github.com/
|
15
|
+
s.homepage = %q{http://github.com/mperham/data_fabric}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Data_fabric", "--main", "README.rdoc"]
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
s.rubyforge_project = %q{fiveruns}
|
data/lib/data_fabric/ar22.rb
CHANGED
@@ -30,8 +30,8 @@ module DataFabric
|
|
30
30
|
@proxy.connected?
|
31
31
|
end
|
32
32
|
|
33
|
-
def remove_connection(klass)
|
34
|
-
DataFabric.log(Logger::
|
33
|
+
def remove_connection(klass=self)
|
34
|
+
DataFabric.log(Logger::WARN) { "remove_connection not implemented by data_fabric" }
|
35
35
|
end
|
36
36
|
|
37
37
|
def connection_pool
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# A data_fabric recipe for use with the FiveRuns Dash metrics service at
|
2
|
+
# http://dash.fiveruns.com.
|
3
|
+
#
|
4
|
+
# Hook into your Rails application by adding the recipe in your
|
5
|
+
# config/initializers/dash.rb, like so:
|
6
|
+
#
|
7
|
+
# require 'data_fabric/dash'
|
8
|
+
# Fiveruns::Dash::Rails.start :production => 'your-token' do |config|
|
9
|
+
# config.add_recipe :data_fabric, :url => 'http://mikeperham.com'
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
raise ArgumentError, "The Dash recipe for DataFabric is only supported on ActiveRecord 2.2 and greater" if ActiveRecord::VERSION::STRING < '2.2.0'
|
13
|
+
|
14
|
+
Fiveruns::Dash.register_recipe :data_fabric, :url => 'http://mikeperham.com' do |recipe|
|
15
|
+
recipe.absolute :open_connections, 'Open Connections' do
|
16
|
+
DataFabric::ConnectionProxy.shard_pools.values.map do |pool|
|
17
|
+
(pool.instance_variable_get(:@checked_out) || []).size
|
18
|
+
end.sum
|
19
|
+
end
|
20
|
+
end
|
data/lib/data_fabric/version.rb
CHANGED
data/test/connection_test.rb
CHANGED
@@ -43,7 +43,9 @@ end
|
|
43
43
|
class ConnectionTest < Test::Unit::TestCase
|
44
44
|
|
45
45
|
def test_should_install_into_arbase
|
46
|
-
|
46
|
+
# Ruby 1.8 vs 1.9 difference
|
47
|
+
meth = PrefixModel.methods.first.is_a?(Symbol) ? :data_fabric : 'data_fabric'
|
48
|
+
assert PrefixModel.methods.include?(meth)
|
47
49
|
end
|
48
50
|
|
49
51
|
def test_prefix_connection_name
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_fabric
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Perham
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-09 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -24,6 +24,7 @@ extra_rdoc_files:
|
|
24
24
|
- lib/data_fabric/ar20.rb
|
25
25
|
- lib/data_fabric/ar22.rb
|
26
26
|
- lib/data_fabric/version.rb
|
27
|
+
- lib/data_fabric/dash.rb
|
27
28
|
- lib/data_fabric.rb
|
28
29
|
- README.rdoc
|
29
30
|
files:
|
@@ -134,6 +135,7 @@ files:
|
|
134
135
|
- lib/data_fabric/ar20.rb
|
135
136
|
- lib/data_fabric/ar22.rb
|
136
137
|
- lib/data_fabric/version.rb
|
138
|
+
- lib/data_fabric/dash.rb
|
137
139
|
- lib/data_fabric.rb
|
138
140
|
- Manifest
|
139
141
|
- Rakefile
|
@@ -148,7 +150,7 @@ files:
|
|
148
150
|
- TESTING.rdoc
|
149
151
|
- data_fabric.gemspec
|
150
152
|
has_rdoc: true
|
151
|
-
homepage: http://github.com/
|
153
|
+
homepage: http://github.com/mperham/data_fabric
|
152
154
|
post_install_message:
|
153
155
|
rdoc_options:
|
154
156
|
- --line-numbers
|