global_uid 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/Appraisals CHANGED
@@ -2,6 +2,11 @@ appraise "rails2" do
2
2
  gem "activerecord", "2.3.14"
3
3
  end
4
4
 
5
+ appraise "rails2mysql2" do
6
+ gem "activerecord", "2.3.14"
7
+ gem "mysql2", :git => "git://github.com/osheroff/mysql2.git", :ref => "a1ab7ba"
8
+ end
9
+
5
10
  appraise "rails3" do
6
11
  gem "activerecord", "3.2.2"
7
12
  end
data/Gemfile CHANGED
@@ -3,4 +3,4 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem "ruby-debug", :platform => "mri_18", :group => "test"
6
- gem "ruby-debug19", :platform => "mri_19", :require => "ruby-debug", :group => "test"
6
+ gem "debugger", :platform => "mri_19", :require => "ruby-debug", :group => "test"
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "ruby-debug", :group=>"test", :platform=>"mri_18"
6
- gem "ruby-debug19", :group=>"test", :require=>"ruby-debug", :platform=>"mri_19"
5
+ gem "ruby-debug", :platform=>"mri_18", :group=>"test"
6
+ gem "debugger", :platform=>"mri_19", :require=>"ruby-debug", :group=>"test"
7
7
  gem "activerecord", "2.3.14"
8
8
 
9
9
  gemspec :path=>"../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/ben/src/global_uid
3
3
  specs:
4
- global_uid (1.2.2)
4
+ global_uid (1.2.3)
5
5
  activerecord
6
6
  activesupport
7
7
 
@@ -14,12 +14,16 @@ GEM
14
14
  appraisal (0.4.0)
15
15
  bundler
16
16
  rake
17
- archive-tar-minitar (0.5.2)
18
17
  columnize (0.3.5)
18
+ debugger (1.1.1)
19
+ columnize (>= 0.3.1)
20
+ debugger-linecache (~> 1.1)
21
+ debugger-ruby_core_source (~> 1.1)
22
+ debugger-linecache (1.1.1)
23
+ debugger-ruby_core_source (>= 1.1.1)
24
+ debugger-ruby_core_source (1.1.1)
19
25
  linecache (0.46)
20
26
  rbx-require-relative (> 0.0.4)
21
- linecache19 (0.5.12)
22
- ruby_core_source (>= 0.1.4)
23
27
  metaclass (0.0.1)
24
28
  mocha (0.10.0)
25
29
  metaclass (~> 0.0.1)
@@ -31,16 +35,6 @@ GEM
31
35
  ruby-debug-base (~> 0.10.4.0)
32
36
  ruby-debug-base (0.10.4)
33
37
  linecache (>= 0.3)
34
- ruby-debug-base19 (0.11.25)
35
- columnize (>= 0.3.1)
36
- linecache19 (>= 0.5.11)
37
- ruby_core_source (>= 0.1.4)
38
- ruby-debug19 (0.11.6)
39
- columnize (>= 0.3.1)
40
- linecache19 (>= 0.5.11)
41
- ruby-debug-base19 (>= 0.11.19)
42
- ruby_core_source (0.1.5)
43
- archive-tar-minitar (>= 0.5.2)
44
38
  shoulda (2.11.3)
45
39
 
46
40
  PLATFORMS
@@ -50,10 +44,10 @@ DEPENDENCIES
50
44
  activerecord (= 2.3.14)
51
45
  appraisal
52
46
  bundler
47
+ debugger
53
48
  global_uid!
54
49
  mocha
55
50
  mysql (= 2.8.1)
56
51
  rake
57
52
  ruby-debug
58
- ruby-debug19
59
53
  shoulda
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "ruby-debug", :group=>"test", :platform=>"mri_18"
6
- gem "ruby-debug19", :group=>"test", :require=>"ruby-debug", :platform=>"mri_19"
5
+ gem "ruby-debug", :platform=>"mri_18", :group=>"test"
6
+ gem "debugger", :platform=>"mri_19", :require=>"ruby-debug", :group=>"test"
7
7
  gem "activerecord", "3.2.2"
8
8
 
9
9
  gemspec :path=>"../"
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/ben/src/global_uid
3
3
  specs:
4
- global_uid (1.2.2)
4
+ global_uid (1.2.3)
5
5
  activerecord
6
6
  activesupport
7
7
 
@@ -22,15 +22,19 @@ GEM
22
22
  appraisal (0.4.0)
23
23
  bundler
24
24
  rake
25
- archive-tar-minitar (0.5.2)
26
25
  arel (3.0.2)
27
26
  builder (3.0.0)
28
27
  columnize (0.3.5)
28
+ debugger (1.1.1)
29
+ columnize (>= 0.3.1)
30
+ debugger-linecache (~> 1.1)
31
+ debugger-ruby_core_source (~> 1.1)
32
+ debugger-linecache (1.1.1)
33
+ debugger-ruby_core_source (>= 1.1.1)
34
+ debugger-ruby_core_source (1.1.1)
29
35
  i18n (0.6.0)
30
36
  linecache (0.46)
31
37
  rbx-require-relative (> 0.0.4)
32
- linecache19 (0.5.12)
33
- ruby_core_source (>= 0.1.4)
34
38
  metaclass (0.0.1)
35
39
  mocha (0.10.0)
36
40
  metaclass (~> 0.0.1)
@@ -43,16 +47,6 @@ GEM
43
47
  ruby-debug-base (~> 0.10.4.0)
44
48
  ruby-debug-base (0.10.4)
45
49
  linecache (>= 0.3)
46
- ruby-debug-base19 (0.11.25)
47
- columnize (>= 0.3.1)
48
- linecache19 (>= 0.5.11)
49
- ruby_core_source (>= 0.1.4)
50
- ruby-debug19 (0.11.6)
51
- columnize (>= 0.3.1)
52
- linecache19 (>= 0.5.11)
53
- ruby-debug-base19 (>= 0.11.19)
54
- ruby_core_source (0.1.5)
55
- archive-tar-minitar (>= 0.5.2)
56
50
  shoulda (2.11.3)
57
51
  tzinfo (0.3.32)
58
52
 
@@ -63,10 +57,10 @@ DEPENDENCIES
63
57
  activerecord (= 3.2.2)
64
58
  appraisal
65
59
  bundler
60
+ debugger
66
61
  global_uid!
67
62
  mocha
68
63
  mysql (= 2.8.1)
69
64
  rake
70
65
  ruby-debug
71
- ruby-debug19
72
66
  shoulda
data/global_uid.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'global_uid'
16
- s.version = '1.2.3'
16
+ s.version = '1.2.4'
17
17
  s.date = '2012-03-13'
18
18
  s.rubyforge_project = 'global_uid'
19
19
 
@@ -3,6 +3,12 @@ require "active_support/all"
3
3
 
4
4
  require "timeout"
5
5
 
6
+ begin
7
+ require 'mysql2'
8
+ rescue LoadError
9
+ end
10
+
11
+
6
12
  module GlobalUid
7
13
  class Base
8
14
  @@servers = nil
@@ -53,27 +59,17 @@ module GlobalUid
53
59
  GlobalUidTimer = Timeout
54
60
  end
55
61
 
56
- def self.connection_method
57
- @@connection_method ||= begin
58
- if ActiveRecord::Base.respond_to?(:mysql2_connection)
59
- :mysql2_connection
60
- elsif ActiveRecord::Base.respond_to?(:mysql_connection)
61
- :mysql_connection
62
- else
63
- raise "No Mysql Connection Adapter found..."
64
- end
65
- end
66
- end
67
-
68
-
69
62
  def self.new_connection(name, connection_timeout, offset, increment_by, use_server_variables)
70
63
  raise "No id server '#{name}' configured in database.yml" unless ActiveRecord::Base.configurations.has_key?(name)
71
64
  config = ActiveRecord::Base.configurations[name]
65
+ c = config.symbolize_keys
66
+
67
+ raise "No global_uid support for adapter #{c[:adapter]}" unless ['mysql', 'mysql2'].include?(c[:adapter])
72
68
 
73
69
  con = nil
74
70
  begin
75
71
  GlobalUidTimer.timeout(connection_timeout, ConnectionTimeoutException) do
76
- con = ActiveRecord::Base.send(self.connection_method, config)
72
+ con = ActiveRecord::Base.send("#{c[:adapter]}_connection", config)
77
73
  end
78
74
  rescue ConnectionTimeoutException => e
79
75
  notify e, "Timed out establishing a connection to #{name}"
data/test/test_helper.rb CHANGED
@@ -20,6 +20,14 @@ GlobalUid::Base.global_uid_options = {
20
20
  ]
21
21
  }
22
22
 
23
- ActiveRecord::Base.configurations = YAML::load(IO.read(File.dirname(__FILE__) + "/config/database.yml"))
23
+ yaml = YAML::load(IO.read(File.dirname(__FILE__) + "/config/database.yml"))
24
+
25
+ if !Gem::Specification.find_all_by_name("mysql2").empty?
26
+ yaml.each do |k, v|
27
+ v['adapter'] = 'mysql2'
28
+ end
29
+ end
30
+
31
+ ActiveRecord::Base.configurations = yaml
24
32
  ActiveRecord::Base.establish_connection("test")
25
33
  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/test.log")
metadata CHANGED
@@ -1,145 +1,151 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: global_uid
3
- version: !ruby/object:Gem::Version
4
- hash: 25
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.4
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 3
10
- version: 1.2.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ben Osheroff
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-13 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: activerecord
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: activesupport
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: activesupport
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: mysql
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - "="
55
- - !ruby/object:Gem::Version
56
- hash: 45
57
- segments:
58
- - 2
59
- - 8
60
- - 1
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: mysql
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
61
53
  version: 2.8.1
62
54
  type: :development
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: appraisal
66
55
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.8.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: appraisal
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
76
70
  type: :development
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
79
- name: rake
80
71
  prerelease: false
81
- requirement: &id005 !ruby/object:Gem::Requirement
82
- none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- hash: 3
87
- segments:
88
- - 0
89
- version: "0"
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
90
86
  type: :development
91
- version_requirements: *id005
92
- - !ruby/object:Gem::Dependency
93
- name: bundler
94
87
  prerelease: false
95
- requirement: &id006 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
- version: "0"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: bundler
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
104
102
  type: :development
105
- version_requirements: *id006
106
- - !ruby/object:Gem::Dependency
107
- name: shoulda
108
103
  prerelease: false
109
- requirement: &id007 !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: shoulda
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
118
  type: :development
119
- version_requirements: *id007
120
- - !ruby/object:Gem::Dependency
121
- name: mocha
122
119
  prerelease: false
123
- requirement: &id008 !ruby/object:Gem::Requirement
124
- none: false
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- hash: 3
129
- segments:
130
- - 0
131
- version: "0"
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: mocha
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
132
134
  type: :development
133
- version_requirements: *id008
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
134
142
  description: GUIDs for sharded models
135
143
  email: ben@zendesk.com
136
144
  executables: []
137
-
138
145
  extensions: []
139
-
140
- extra_rdoc_files:
146
+ extra_rdoc_files:
141
147
  - README.md
142
- files:
148
+ files:
143
149
  - Appraisals
144
150
  - Gemfile
145
151
  - README.md
@@ -158,39 +164,29 @@ files:
158
164
  - test/test_helper.rb
159
165
  homepage: http://github.com/zendesk/global_uid
160
166
  licenses: []
161
-
162
167
  post_install_message:
163
- rdoc_options:
168
+ rdoc_options:
164
169
  - --charset=UTF-8
165
- require_paths:
170
+ require_paths:
166
171
  - lib
167
- required_ruby_version: !ruby/object:Gem::Requirement
172
+ required_ruby_version: !ruby/object:Gem::Requirement
168
173
  none: false
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- hash: 3
173
- segments:
174
- - 0
175
- version: "0"
176
- required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
179
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: 23
182
- segments:
183
- - 1
184
- - 3
185
- - 6
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
186
183
  version: 1.3.6
187
184
  requirements: []
188
-
189
185
  rubyforge_project: global_uid
190
- rubygems_version: 1.8.10
186
+ rubygems_version: 1.8.21
191
187
  signing_key:
192
188
  specification_version: 2
193
189
  summary: GUID
194
- test_files:
190
+ test_files:
195
191
  - test/global_uid_test.rb
196
192
  - test/test_helper.rb