dbhijacker 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source "https://rubygems.org"
2
2
  gemspec
3
-
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dbhijacker (0.7.1)
4
+ dbhijacker (0.7.3)
5
5
  rails (>= 2.3.14)
6
6
 
7
7
  GEM
@@ -17,12 +17,9 @@ GEM
17
17
  activeresource (2.3.18)
18
18
  activesupport (= 2.3.18)
19
19
  activesupport (2.3.18)
20
- columnize (0.3.6)
21
- diff-lcs (1.1.3)
22
- linecache (0.46)
23
- rbx-require-relative (> 0.0.4)
24
- rack (1.1.3)
25
- rack-test (0.6.1)
20
+ diff-lcs (1.2.3)
21
+ rack (1.1.6)
22
+ rack-test (0.6.2)
26
23
  rack (>= 1.0)
27
24
  rails (2.3.18)
28
25
  actionmailer (= 2.3.18)
@@ -31,31 +28,25 @@ GEM
31
28
  activeresource (= 2.3.18)
32
29
  activesupport (= 2.3.18)
33
30
  rake (>= 0.8.3)
34
- rake (0.9.2.2)
35
- rbx-require-relative (0.0.5)
36
- rspec (2.8.0)
37
- rspec-core (~> 2.8.0)
38
- rspec-expectations (~> 2.8.0)
39
- rspec-mocks (~> 2.8.0)
40
- rspec-core (2.8.0)
41
- rspec-expectations (2.8.0)
42
- diff-lcs (~> 1.1.2)
43
- rspec-mocks (2.8.0)
44
- ruby-debug (0.10.4)
45
- columnize (>= 0.1)
46
- ruby-debug-base (~> 0.10.4.0)
47
- ruby-debug-base (0.10.4)
48
- linecache (>= 0.3)
49
- sqlite3 (1.3.5)
31
+ rake (0.9.6)
32
+ rspec (2.13.0)
33
+ rspec-core (~> 2.13.0)
34
+ rspec-expectations (~> 2.13.0)
35
+ rspec-mocks (~> 2.13.0)
36
+ rspec-core (2.13.1)
37
+ rspec-expectations (2.13.0)
38
+ diff-lcs (>= 1.1.3, < 2.0)
39
+ rspec-mocks (2.13.1)
40
+ sqlite3 (1.3.7)
50
41
 
51
42
  PLATFORMS
52
43
  ruby
53
44
 
54
45
  DEPENDENCIES
46
+ bundler (~> 1.3)
55
47
  dbhijacker!
56
48
  rack (~> 1.1.0)
57
49
  rack-test (~> 0.6.1)
58
50
  rake (~> 0.9.2)
59
- rspec (~> 2.8.0)
60
- ruby-debug (~> 0.10.4)
51
+ rspec (~> 2.8)
61
52
  sqlite3 (~> 1.3.5)
@@ -3,34 +3,34 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{dbhijacker}
5
5
  s.homepage = "https://github.com/crystalcommerce/hijacker"
6
- s.version = "0.7.2"
6
+ s.version = "0.8.0"
7
7
 
8
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
8
  s.authors = ["Michael Xavier", "Donald Plummer", "Woody Peterson"]
10
9
  s.date = %q{2012-03-21}
11
10
  s.description = %q{Allows a single Rails appliation to access many different databases}
12
11
  s.email = %q{developers@crystalcommerce.com}
12
+
13
13
  s.add_dependency("rails", ">= 2.3.14")
14
- s.add_development_dependency("rake", "~>0.9.2")
15
- s.add_development_dependency("rack-test", "~>0.6.1")
16
- s.add_development_dependency("rack", "~>1.1.0")
17
- s.add_development_dependency("rspec", "~>2.8.0")
18
- s.add_development_dependency("sqlite3", "~>1.3.5")
19
- s.add_development_dependency("ruby-debug", "~>0.10.4")
14
+
15
+ s.add_development_dependency "bundler", "~> 1.3"
16
+ s.add_development_dependency "rake", "~> 0.9.2"
17
+ s.add_development_dependency "rack-test", "~> 0.6.1"
18
+ s.add_development_dependency "rack", "~> 1.1.0"
19
+ s.add_development_dependency "rspec", "~> 2.8"
20
+ s.add_development_dependency "sqlite3", "~> 1.3.5"
21
+
20
22
  s.extra_rdoc_files = [
21
23
  "README.rdoc"
22
24
  ]
25
+
23
26
  s.files = %w{
24
27
  Gemfile
25
28
  Gemfile.lock
26
29
  MIT-LICENSE
27
30
  README.rdoc
28
31
  Rakefile
29
- VERSION
30
32
  example_root_schema.rb
31
- hijacker.gemspec
32
- init.rb
33
- install.rb
33
+ dbhijacker.gemspec
34
34
  lib/dbhijacker.rb
35
35
  lib/hijacker.rb
36
36
  lib/hijacker/active_record_ext.rb
@@ -46,11 +46,9 @@ Gem::Specification.new do |s|
46
46
  spec/hijacker_spec.rb
47
47
  spec/spec_helper.rb
48
48
  tasks/hijacker_tasks.rake
49
- uninstall.rb
50
49
  }
51
50
  s.rdoc_options = ["--charset=UTF-8"]
52
51
  s.require_paths = ["lib"]
53
- s.rubygems_version = %q{1.8.15}
54
52
  s.summary = %q{One application, multiple client databases}
55
53
  s.test_files = %w{
56
54
  spec/hijacker/alias_spec.rb
@@ -60,10 +58,4 @@ Gem::Specification.new do |s|
60
58
  spec/hijacker_spec.rb
61
59
  spec/spec_helper.rb
62
60
  }
63
-
64
- if s.respond_to?(:specification_version)
65
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
66
- s.specification_version = 3
67
- end
68
61
  end
69
-
@@ -17,5 +17,6 @@ ActiveRecord::Schema.define(:version => 2) do
17
17
 
18
18
  create_table "hosts", :force => true do |t|
19
19
  t.string "hostname"
20
+ t.integer "port", :default => 3306
20
21
  end
21
22
  end
@@ -56,10 +56,10 @@ class Hijacker::Database < ActiveRecord::Base
56
56
  def self.find_master_for(client)
57
57
  @masters ||= {}
58
58
  @masters[client] ||= self.connection.select_values(
59
- "SELECT master.database
60
- FROM `databases` AS master, `databases` AS sister
61
- WHERE sister.database = #{ActiveRecord::Base.connection.quote(client)}
62
- AND sister.master_id = master.id"
59
+ "SELECT master.database "\
60
+ "FROM `databases` AS master, `databases` AS sister "\
61
+ "WHERE sister.database = #{ActiveRecord::Base.connection.quote(client)} "\
62
+ "AND sister.master_id = master.id"
63
63
  ).first
64
64
  end
65
65
 
@@ -68,7 +68,7 @@ class Hijacker::Database < ActiveRecord::Base
68
68
  master = self.find_master_for(client)
69
69
  sister = master.nil? ? nil : client
70
70
  master ||= client
71
-
71
+
72
72
  return master, sister
73
73
  end
74
74
 
data/lib/hijacker.rb CHANGED
@@ -230,8 +230,11 @@ private
230
230
  end
231
231
 
232
232
  def self.connection_config(database)
233
+ hostname = database.host.hostname
234
+ port = database.host.port || root_config['port']
233
235
  root_config.merge('database' => database.name,
234
- 'host' => database.host.hostname)
236
+ 'host' => hostname,
237
+ 'port' => port)
235
238
  end
236
239
  end
237
240
 
@@ -10,7 +10,7 @@ module Hijacker
10
10
  def app
11
11
  Rack::Builder.new do
12
12
  use Hijacker::Middleware
13
- run lambda { |env| [200, { 'blah' => 'blah' }, "success"] }
13
+ run lambda { |env| [200, { 'blah' => 'blah' }, ["success"]] }
14
14
  end
15
15
  end
16
16
 
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  require 'rubygems'
2
2
  require 'active_support'
3
3
  require 'active_support/test_case'
4
- require 'ruby-debug'
5
-
6
4
  require 'active_record'
7
5
 
8
- RAILS_ENV="test"
6
+ RAILS_ENV = "test"
9
7
  ENV['RAILS_ENV'] = 'test'
8
+
10
9
  $:.unshift '../lib'
10
+
11
11
  ActiveRecord::Base.configurations = {
12
12
  "root" => {
13
13
  :adapter => 'sqlite3',
metadata CHANGED
@@ -1,155 +1,144 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dbhijacker
3
- version: !ruby/object:Gem::Version
4
- hash: 7
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
6
- segments:
7
- - 0
8
- - 7
9
- - 2
10
- version: 0.7.2
5
+ version: 0.8.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Michael Xavier
14
9
  - Donald Plummer
15
10
  - Woody Peterson
16
11
  autorequire:
17
12
  bindir: bin
18
13
  cert_chain: []
19
-
20
- date: 2012-03-21 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- name: rails
14
+ date: 2012-03-21 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
24
17
  prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ type: :runtime
19
+ name: rails
20
+ version_requirements: !ruby/object:Gem::Requirement
26
21
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 31
31
- segments:
32
- - 2
33
- - 3
34
- - 14
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
35
25
  version: 2.3.14
36
- type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: rake
26
+ requirement: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: 2.3.14
32
+ - !ruby/object:Gem::Dependency
40
33
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
34
+ type: :development
35
+ name: bundler
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ version: '1.3'
42
+ requirement: !ruby/object:Gem::Requirement
42
43
  none: false
43
- requirements:
44
+ requirements:
44
45
  - - ~>
45
- - !ruby/object:Gem::Version
46
- hash: 63
47
- segments:
48
- - 0
49
- - 9
50
- - 2
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ - !ruby/object:Gem::Dependency
49
+ prerelease: false
50
+ type: :development
51
+ name: rake
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
51
57
  version: 0.9.2
58
+ requirement: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.9.2
64
+ - !ruby/object:Gem::Dependency
65
+ prerelease: false
52
66
  type: :development
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
67
  name: rack-test
56
- prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
68
+ version_requirements: !ruby/object:Gem::Requirement
58
69
  none: false
59
- requirements:
70
+ requirements:
60
71
  - - ~>
61
- - !ruby/object:Gem::Version
62
- hash: 5
63
- segments:
64
- - 0
65
- - 6
66
- - 1
72
+ - !ruby/object:Gem::Version
67
73
  version: 0.6.1
74
+ requirement: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 0.6.1
80
+ - !ruby/object:Gem::Dependency
81
+ prerelease: false
68
82
  type: :development
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
83
  name: rack
72
- prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
84
+ version_requirements: !ruby/object:Gem::Requirement
74
85
  none: false
75
- requirements:
86
+ requirements:
76
87
  - - ~>
77
- - !ruby/object:Gem::Version
78
- hash: 19
79
- segments:
80
- - 1
81
- - 1
82
- - 0
88
+ - !ruby/object:Gem::Version
83
89
  version: 1.1.0
90
+ requirement: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 1.1.0
96
+ - !ruby/object:Gem::Dependency
97
+ prerelease: false
84
98
  type: :development
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
99
  name: rspec
88
- prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ~>
104
+ - !ruby/object:Gem::Version
105
+ version: '2.8'
106
+ requirement: !ruby/object:Gem::Requirement
90
107
  none: false
91
- requirements:
108
+ requirements:
92
109
  - - ~>
93
- - !ruby/object:Gem::Version
94
- hash: 47
95
- segments:
96
- - 2
97
- - 8
98
- - 0
99
- version: 2.8.0
110
+ - !ruby/object:Gem::Version
111
+ version: '2.8'
112
+ - !ruby/object:Gem::Dependency
113
+ prerelease: false
100
114
  type: :development
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
103
115
  name: sqlite3
104
- prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
116
+ version_requirements: !ruby/object:Gem::Requirement
106
117
  none: false
107
- requirements:
118
+ requirements:
108
119
  - - ~>
109
- - !ruby/object:Gem::Version
110
- hash: 17
111
- segments:
112
- - 1
113
- - 3
114
- - 5
120
+ - !ruby/object:Gem::Version
115
121
  version: 1.3.5
116
- type: :development
117
- version_requirements: *id006
118
- - !ruby/object:Gem::Dependency
119
- name: ruby-debug
120
- prerelease: false
121
- requirement: &id007 !ruby/object:Gem::Requirement
122
+ requirement: !ruby/object:Gem::Requirement
122
123
  none: false
123
- requirements:
124
+ requirements:
124
125
  - - ~>
125
- - !ruby/object:Gem::Version
126
- hash: 63
127
- segments:
128
- - 0
129
- - 10
130
- - 4
131
- version: 0.10.4
132
- type: :development
133
- version_requirements: *id007
126
+ - !ruby/object:Gem::Version
127
+ version: 1.3.5
134
128
  description: Allows a single Rails appliation to access many different databases
135
129
  email: developers@crystalcommerce.com
136
130
  executables: []
137
-
138
131
  extensions: []
139
-
140
- extra_rdoc_files:
132
+ extra_rdoc_files:
141
133
  - README.rdoc
142
- files:
134
+ files:
143
135
  - Gemfile
144
136
  - Gemfile.lock
145
137
  - MIT-LICENSE
146
138
  - README.rdoc
147
139
  - Rakefile
148
- - VERSION
149
140
  - example_root_schema.rb
150
- - hijacker.gemspec
151
- - init.rb
152
- - install.rb
141
+ - dbhijacker.gemspec
153
142
  - lib/dbhijacker.rb
154
143
  - lib/hijacker.rb
155
144
  - lib/hijacker/active_record_ext.rb
@@ -165,41 +154,32 @@ files:
165
154
  - spec/hijacker_spec.rb
166
155
  - spec/spec_helper.rb
167
156
  - tasks/hijacker_tasks.rake
168
- - uninstall.rb
169
157
  homepage: https://github.com/crystalcommerce/hijacker
170
158
  licenses: []
171
-
172
159
  post_install_message:
173
- rdoc_options:
160
+ rdoc_options:
174
161
  - --charset=UTF-8
175
- require_paths:
162
+ require_paths:
176
163
  - lib
177
- required_ruby_version: !ruby/object:Gem::Requirement
164
+ required_ruby_version: !ruby/object:Gem::Requirement
178
165
  none: false
179
- requirements:
180
- - - ">="
181
- - !ruby/object:Gem::Version
182
- hash: 3
183
- segments:
184
- - 0
185
- version: "0"
186
- required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
171
  none: false
188
- requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- hash: 3
192
- segments:
193
- - 0
194
- version: "0"
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
195
176
  requirements: []
196
-
197
177
  rubyforge_project:
198
- rubygems_version: 1.8.24
178
+ rubygems_version: 1.8.25
199
179
  signing_key:
200
180
  specification_version: 3
201
181
  summary: One application, multiple client databases
202
- test_files:
182
+ test_files:
203
183
  - spec/hijacker/alias_spec.rb
204
184
  - spec/hijacker/database_spec.rb
205
185
  - spec/hijacker/host_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.0
data/init.rb DELETED
@@ -1,2 +0,0 @@
1
- # Include hook code here
2
- require 'hijacker'
data/install.rb DELETED
@@ -1 +0,0 @@
1
- # Install hook code here
data/uninstall.rb DELETED
@@ -1 +0,0 @@
1
- # Uninstall hook code here