global_uid 1.2.0 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "rails2" do
2
+ gem "activerecord", "2.3.14"
3
+ end
4
+
5
+ appraise "rails3" do
6
+ gem "activerecord", "3.1.3"
7
+ end
data/Gemfile CHANGED
@@ -2,7 +2,5 @@ source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- group "test" do
6
- gem "ruby-debug"
7
- end
8
-
5
+ gem "ruby-debug", :platform => "mri_18", :group => "test"
6
+ gem "ruby-debug19", :platform => "mri_19", :require => "ruby-debug", :group => "test"
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
  require 'date'
4
+ require 'appraisal'
4
5
 
5
6
  #############################################################################
6
7
  #
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "ruby-debug", :group=>"test", :platform=>"mri_18"
6
+ gem "ruby-debug19", :group=>"test", :require=>"ruby-debug", :platform=>"mri_19"
7
+ gem "activerecord", "2.3.14"
8
+
9
+ gemspec :path=>"../"
@@ -0,0 +1,59 @@
1
+ PATH
2
+ remote: /Users/primdahl/Git/global_uid
3
+ specs:
4
+ global_uid (1.2.0)
5
+ activerecord
6
+ activesupport
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activerecord (2.3.14)
12
+ activesupport (= 2.3.14)
13
+ activesupport (2.3.14)
14
+ appraisal (0.4.0)
15
+ bundler
16
+ rake
17
+ archive-tar-minitar (0.5.2)
18
+ columnize (0.3.5)
19
+ linecache (0.46)
20
+ rbx-require-relative (> 0.0.4)
21
+ linecache19 (0.5.12)
22
+ ruby_core_source (>= 0.1.4)
23
+ metaclass (0.0.1)
24
+ mocha (0.10.0)
25
+ metaclass (~> 0.0.1)
26
+ mysql (2.8.1)
27
+ rake (0.9.2.2)
28
+ rbx-require-relative (0.0.5)
29
+ ruby-debug (0.10.4)
30
+ columnize (>= 0.1)
31
+ ruby-debug-base (~> 0.10.4.0)
32
+ ruby-debug-base (0.10.4)
33
+ 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
+ shoulda (2.11.3)
45
+
46
+ PLATFORMS
47
+ ruby
48
+
49
+ DEPENDENCIES
50
+ activerecord (= 2.3.14)
51
+ appraisal
52
+ bundler
53
+ global_uid!
54
+ mocha
55
+ mysql (= 2.8.1)
56
+ rake
57
+ ruby-debug
58
+ ruby-debug19
59
+ shoulda
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://rubygems.org"
4
+
5
+ gem "ruby-debug", :group=>"test", :platform=>"mri_18"
6
+ gem "ruby-debug19", :group=>"test", :require=>"ruby-debug", :platform=>"mri_19"
7
+ gem "activerecord", "3.1.3"
8
+
9
+ gemspec :path=>"../"
@@ -0,0 +1,72 @@
1
+ PATH
2
+ remote: /Users/primdahl/Git/global_uid
3
+ specs:
4
+ global_uid (1.2.0)
5
+ activerecord
6
+ activesupport
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activemodel (3.1.3)
12
+ activesupport (= 3.1.3)
13
+ builder (~> 3.0.0)
14
+ i18n (~> 0.6)
15
+ activerecord (3.1.3)
16
+ activemodel (= 3.1.3)
17
+ activesupport (= 3.1.3)
18
+ arel (~> 2.2.1)
19
+ tzinfo (~> 0.3.29)
20
+ activesupport (3.1.3)
21
+ multi_json (~> 1.0)
22
+ appraisal (0.4.0)
23
+ bundler
24
+ rake
25
+ archive-tar-minitar (0.5.2)
26
+ arel (2.2.1)
27
+ builder (3.0.0)
28
+ columnize (0.3.5)
29
+ i18n (0.6.0)
30
+ linecache (0.46)
31
+ rbx-require-relative (> 0.0.4)
32
+ linecache19 (0.5.12)
33
+ ruby_core_source (>= 0.1.4)
34
+ metaclass (0.0.1)
35
+ mocha (0.10.0)
36
+ metaclass (~> 0.0.1)
37
+ multi_json (1.0.4)
38
+ mysql (2.8.1)
39
+ rake (0.9.2.2)
40
+ rbx-require-relative (0.0.5)
41
+ ruby-debug (0.10.4)
42
+ columnize (>= 0.1)
43
+ ruby-debug-base (~> 0.10.4.0)
44
+ ruby-debug-base (0.10.4)
45
+ 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
+ shoulda (2.11.3)
57
+ tzinfo (0.3.31)
58
+
59
+ PLATFORMS
60
+ ruby
61
+
62
+ DEPENDENCIES
63
+ activerecord (= 3.1.3)
64
+ appraisal
65
+ bundler
66
+ global_uid!
67
+ mocha
68
+ mysql (= 2.8.1)
69
+ rake
70
+ ruby-debug
71
+ ruby-debug19
72
+ shoulda
data/global_uid.gemspec CHANGED
@@ -13,8 +13,8 @@ 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.0'
17
- s.date = '2011-11-29'
16
+ s.version = '1.2.2'
17
+ s.date = '2011-12-07'
18
18
  s.rubyforge_project = 'global_uid'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -53,6 +53,7 @@ Gem::Specification.new do |s|
53
53
  ## List your development dependencies here. Development dependencies are
54
54
  ## those that are only needed during development
55
55
  s.add_development_dependency('mysql', '2.8.1')
56
+ s.add_development_dependency("appraisal")
56
57
  s.add_development_dependency('rake')
57
58
  s.add_development_dependency('bundler')
58
59
  s.add_development_dependency('shoulda')
@@ -63,10 +64,14 @@ Gem::Specification.new do |s|
63
64
  ## THE MANIFEST COMMENTS, they are used as delimiters by the task.
64
65
  # = MANIFEST =
65
66
  s.files = %w[
67
+ Appraisals
66
68
  Gemfile
67
- Gemfile.lock
68
69
  README.md
69
70
  Rakefile
71
+ gemfiles/rails2.gemfile
72
+ gemfiles/rails2.gemfile.lock
73
+ gemfiles/rails3.gemfile
74
+ gemfiles/rails3.gemfile.lock
70
75
  global_uid.gemspec
71
76
  lib/global_uid.rb
72
77
  lib/global_uid/active_record_extension.rb
@@ -3,7 +3,6 @@ module GlobalUid
3
3
 
4
4
  def self.included(base)
5
5
  base.extend(ClassMethods)
6
- base.class_inheritable_accessor :global_uid_disabled
7
6
  base.before_create :global_uid_before_create
8
7
  end
9
8
 
@@ -26,16 +25,26 @@ module GlobalUid
26
25
  end
27
26
 
28
27
  module ClassMethods
28
+ def global_uid_disabled
29
+ if @global_uid_disabled.nil?
30
+ if superclass.respond_to?(:global_uid_disabled)
31
+ @global_uid_disabled = superclass.send(:global_uid_disabled)
32
+ else
33
+ @global_uid_disabled = false
34
+ end
35
+ end
36
+
37
+ @global_uid_disabled
38
+ end
39
+
29
40
  def generate_uid(options = {})
30
41
  uid_table_name = self.global_uid_table
31
-
32
42
  self.ensure_global_uid_table
33
-
34
43
  GlobalUid::Base.get_uid_for_class(self, options)
35
44
  end
36
45
 
37
46
  def disable_global_uid
38
- self.global_uid_disabled = true
47
+ @global_uid_disabled = true
39
48
  end
40
49
 
41
50
  def global_uid_table
data/lib/global_uid.rb CHANGED
@@ -3,7 +3,7 @@ require "global_uid/active_record_extension"
3
3
  require "global_uid/migration_extension"
4
4
 
5
5
  module GlobalUid
6
- VERSION = "1.2.0"
6
+ VERSION = "1.2.2"
7
7
 
8
8
  class NoServersAvailableException < Exception ; end
9
9
  class ConnectionTimeoutException < Exception ; end
@@ -62,9 +62,43 @@ end
62
62
  class WithoutGlobalUID < ActiveRecord::Base
63
63
  end
64
64
 
65
+ class Parent < ActiveRecord::Base
66
+ def self.reset
67
+ @global_uid_disabled = nil
68
+ end
69
+ end
70
+
71
+ class ParentSubclass < Parent
72
+ end
73
+
74
+ class ParentSubclassSubclass < ParentSubclass
75
+ end
76
+
65
77
  class GlobalUIDTest < ActiveSupport::TestCase
66
78
  ActiveRecord::Migration.verbose = false
67
79
 
80
+ context "#global_uid_disabled" do
81
+ setup do
82
+ [ Parent, ParentSubclass, ParentSubclassSubclass ].each { |k| k.reset }
83
+ end
84
+
85
+ should "default to the parent value or false" do
86
+ assert !ParentSubclass.global_uid_disabled
87
+
88
+ ParentSubclass.disable_global_uid
89
+ assert ParentSubclass.global_uid_disabled
90
+ assert ParentSubclassSubclass.global_uid_disabled
91
+
92
+ ParentSubclass.reset
93
+ assert !ParentSubclass.global_uid_disabled
94
+ assert ParentSubclassSubclass.global_uid_disabled
95
+
96
+ ParentSubclassSubclass.reset
97
+ assert !ParentSubclass.global_uid_disabled
98
+ assert !ParentSubclassSubclass.global_uid_disabled
99
+ end
100
+ end
101
+
68
102
  context "migrations" do
69
103
  setup do
70
104
  restore_defaults!
@@ -118,8 +152,6 @@ class GlobalUIDTest < ActiveSupport::TestCase
118
152
  GlobalUid::Base.with_connections do |cx|
119
153
  assert cx.table_exists?('with_global_uids_ids')
120
154
  end
121
-
122
-
123
155
  end
124
156
  end
125
157
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: global_uid
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 2
10
+ version: 1.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ben Osheroff
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-29 00:00:00 -08:00
18
+ date: 2011-12-07 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -63,7 +63,7 @@ dependencies:
63
63
  type: :development
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
66
- name: rake
66
+ name: appraisal
67
67
  prerelease: false
68
68
  requirement: &id004 !ruby/object:Gem::Requirement
69
69
  none: false
@@ -77,7 +77,7 @@ dependencies:
77
77
  type: :development
78
78
  version_requirements: *id004
79
79
  - !ruby/object:Gem::Dependency
80
- name: bundler
80
+ name: rake
81
81
  prerelease: false
82
82
  requirement: &id005 !ruby/object:Gem::Requirement
83
83
  none: false
@@ -91,7 +91,7 @@ dependencies:
91
91
  type: :development
92
92
  version_requirements: *id005
93
93
  - !ruby/object:Gem::Dependency
94
- name: shoulda
94
+ name: bundler
95
95
  prerelease: false
96
96
  requirement: &id006 !ruby/object:Gem::Requirement
97
97
  none: false
@@ -105,7 +105,7 @@ dependencies:
105
105
  type: :development
106
106
  version_requirements: *id006
107
107
  - !ruby/object:Gem::Dependency
108
- name: mocha
108
+ name: shoulda
109
109
  prerelease: false
110
110
  requirement: &id007 !ruby/object:Gem::Requirement
111
111
  none: false
@@ -118,6 +118,20 @@ dependencies:
118
118
  version: "0"
119
119
  type: :development
120
120
  version_requirements: *id007
121
+ - !ruby/object:Gem::Dependency
122
+ name: mocha
123
+ prerelease: false
124
+ requirement: &id008 !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ hash: 3
130
+ segments:
131
+ - 0
132
+ version: "0"
133
+ type: :development
134
+ version_requirements: *id008
121
135
  description: GUIDs for sharded models
122
136
  email: ben@zendesk.com
123
137
  executables: []
@@ -127,10 +141,14 @@ extensions: []
127
141
  extra_rdoc_files:
128
142
  - README.md
129
143
  files:
144
+ - Appraisals
130
145
  - Gemfile
131
- - Gemfile.lock
132
146
  - README.md
133
147
  - Rakefile
148
+ - gemfiles/rails2.gemfile
149
+ - gemfiles/rails2.gemfile.lock
150
+ - gemfiles/rails3.gemfile
151
+ - gemfiles/rails3.gemfile.lock
134
152
  - global_uid.gemspec
135
153
  - lib/global_uid.rb
136
154
  - lib/global_uid/active_record_extension.rb
@@ -171,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
189
  requirements: []
172
190
 
173
191
  rubyforge_project: global_uid
174
- rubygems_version: 1.5.2
192
+ rubygems_version: 1.5.3
175
193
  signing_key:
176
194
  specification_version: 2
177
195
  summary: GUID
data/Gemfile.lock DELETED
@@ -1,43 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- global_uid (1.0.3)
5
- activerecord (= 2.3.14)
6
- activesupport
7
- global_uid
8
- mysql (= 2.8.1)
9
-
10
- GEM
11
- remote: http://rubygems.org/
12
- specs:
13
- activerecord (2.3.14)
14
- activesupport (= 2.3.14)
15
- activesupport (2.3.14)
16
- columnize (0.3.2)
17
- git (1.2.5)
18
- jeweler (1.6.4)
19
- bundler (~> 1.0)
20
- git (>= 1.2.5)
21
- rake
22
- linecache (0.43)
23
- mocha (0.9.12)
24
- mysql (2.8.1)
25
- rake (0.8.7)
26
- ruby-debug (0.10.4)
27
- columnize (>= 0.1)
28
- ruby-debug-base (~> 0.10.4.0)
29
- ruby-debug-base (0.10.4)
30
- linecache (>= 0.3)
31
- shoulda (2.11.3)
32
-
33
- PLATFORMS
34
- ruby
35
-
36
- DEPENDENCIES
37
- bundler
38
- global_uid!
39
- jeweler
40
- mocha
41
- rake
42
- ruby-debug
43
- shoulda