global_uid 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/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