composite_primary_keys 4.0.0.beta7 → 4.0.0.beta8

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/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 4.0.0.beta8 2011-082-22
2
+ * Sqlite 3 fixes (Jan Vlnas)
3
+ * Fixes for to_key method (Jan Vlnas)
4
+ * Compatible with Rails 3.1 RC6 (Ari Epstein, Travis Warlick)
5
+
1
6
  == 4.0.0.beta7 2011-07-26
2
7
  * Compatible with Rails 3.1 RC5 (TycoooN)
3
8
  * Do not use Arel::Nodes::Or to combine predicates because it creates a
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ Dir.glob('tasks/**/*.rake').each do |rake_file|
20
20
  end
21
21
 
22
22
  # Set up test tasks for each supported connection adapter
23
- %w(mysql sqlite oracle oracle_enhanced postgresql ibm_db).each do |adapter|
23
+ %w(mysql sqlite3 oracle oracle_enhanced postgresql ibm_db).each do |adapter|
24
24
  namespace adapter do
25
25
  desc "Run tests using the #{adapter} adapter"
26
26
  task "test" do
@@ -26,7 +26,7 @@ $:.unshift(File.dirname(__FILE__)) unless
26
26
 
27
27
  unless defined?(ActiveRecord)
28
28
  require 'rubygems'
29
- gem 'activerecord', '= 3.1.0.rc5'
29
+ gem 'activerecord', '~> 3.1.0.rc5'
30
30
  require 'active_record'
31
31
  end
32
32
 
@@ -125,10 +125,10 @@ module ActiveRecord
125
125
  false
126
126
  end
127
127
 
128
- # Returns this record's primary keys values in an Array or nil if
129
- # the record is not persisted? or has just been destroyed.
128
+ # Returns this record's primary keys values in an Array
129
+ # if any value is avaliable
130
130
  def to_key
131
- ids.to_a if persisted? && !ids.compact.empty? # XXX Maybe use primary_keys with send instead of ids
131
+ ids.to_a if !ids.compact.empty? # XXX Maybe use primary_keys with send instead of ids
132
132
  end
133
133
  end
134
134
  end
@@ -3,6 +3,6 @@ module CompositePrimaryKeys
3
3
  MAJOR = 4
4
4
  MINOR = 0
5
5
  TINY = 0
6
- STRING = [MAJOR, MINOR, TINY, 'beta7'].join('.')
6
+ STRING = [MAJOR, MINOR, TINY, 'beta8'].join('.')
7
7
  end
8
8
  end
@@ -24,6 +24,6 @@ namespace :sqlite3 do
24
24
  task :rebuild_databases => [:drop_databases, :build_databases]
25
25
 
26
26
  task :load_connection do
27
- require File.join(PROJECT_ROOT, "test", "connections", "native_sqlite", "connection")
27
+ require File.join(PROJECT_ROOT, "test", "connections", "native_sqlite3", "connection")
28
28
  end
29
- end
29
+ end
@@ -9,10 +9,24 @@ There are tests available for the following adapters:
9
9
  * oracle
10
10
  * oracle_enhanced
11
11
  * postgresql
12
- * sqlite
12
+ * sqlite3
13
13
 
14
14
  To run the tests for one of the adapters follow these steps (using mysql in the example):
15
15
 
16
+ * You will need the following gems:
17
+ - rake
18
+ - activerecord (3.1.0.rc5 or later)
19
+ - mysql (or the adapter of your choice)
20
+
21
+ * Put your mysql connection settings to test/connections/databases.yml
22
+ look into databases.example.sql for reference,
23
+ keep only one connection spec at once in databases.yml
24
+
25
+ mysql:
26
+ adapter: mysql
27
+ username: root
28
+ database: composite_primary_keys_unittest
29
+
16
30
  * rake -T mysql
17
31
 
18
32
  rake mysql:build_databases # Build the MySQL test databases
@@ -2,7 +2,7 @@ PROJECT_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
2
2
 
3
3
  require "pp"
4
4
  require "test/unit"
5
- require "hash_tricks"
5
+ require "./hash_tricks"
6
6
 
7
7
  # To make debugging easier, test within this source tree versus an installed gem
8
8
  #require 'composite_primary_keys'
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestAssociations < ActiveSupport::TestCase
4
4
  fixtures :articles, :products, :tariffs, :product_tariffs, :suburbs, :streets, :restaurants,
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestAttributeMethods < ActiveSupport::TestCase
4
4
  fixtures :reference_types
@@ -42,13 +42,13 @@ class TestAttributeMethods < ActiveSupport::TestCase
42
42
  def test_to_key_with_single_key_destroyed
43
43
  rt = ReferenceType.find(1)
44
44
  rt.destroy
45
- assert_nil(rt.to_key)
45
+ assert_equal([1], rt.to_key)
46
46
  end
47
47
 
48
48
  def test_to_key_with_composite_key_destroyed
49
49
  ref_code = ReferenceCode.find(1, 1)
50
50
  ref_code.destroy
51
- assert_nil(ref_code.to_key)
51
+ assert_equal([1,1], ref_code.to_key)
52
52
  end
53
53
 
54
54
 
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestAttributes < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes, :products, :tariffs, :product_tariffs
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class CompositeArraysTest < ActiveSupport::TestCase
4
4
 
data/test/test_create.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestCreate < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes, :streets, :suburbs
data/test/test_delete.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestDelete < ActiveSupport::TestCase
4
4
  fixtures :departments, :employees, :products, :product_tariffs,
data/test/test_dup.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestClone < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes
data/test/test_equal.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestEqual < ActiveSupport::TestCase
4
4
  fixtures :capitols
data/test/test_exists.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestExists < ActiveSupport::TestCase
4
4
  fixtures :articles, :departments
data/test/test_find.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  # Testing the find action on composite ActiveRecords with two primary keys
4
4
  class TestFind < ActiveSupport::TestCase
data/test/test_habtm.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestHabtm < ActiveSupport::TestCase
4
4
  fixtures :suburbs, :restaurants, :restaurants_suburbs, :products
data/test/test_ids.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestIds < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestMiscellaneous < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes, :products
@@ -1,36 +1,36 @@
1
- require 'abstract_unit'
2
- require 'plugins/pagination'
3
-
4
- class TestPagination < ActiveSupport::TestCase
5
- fixtures :reference_types, :reference_codes
6
-
7
- include ActionController::Pagination
8
- DEFAULT_PAGE_SIZE = 2
9
-
10
- attr_accessor :params
11
-
12
- CLASSES = {
13
- :single => {
14
- :class => ReferenceType,
15
- :primary_keys => :reference_type_id,
16
- :table => :reference_types,
17
- },
18
- :dual => {
19
- :class => ReferenceCode,
20
- :primary_keys => [:reference_type_id, :reference_code],
21
- :table => :reference_codes,
22
- },
23
- }
24
-
25
- def setup
26
- self.class.classes = CLASSES
27
- @params = {}
28
- end
29
-
30
- def test_paginate_all
31
- testing_with do
32
- @object_pages, @objects = paginate @klass_info[:table], :per_page => DEFAULT_PAGE_SIZE
33
- assert_equal 2, @objects.length, "Each page should have #{DEFAULT_PAGE_SIZE} items"
34
- end
35
- end
36
- end
1
+ #require './abstract_unit'
2
+ #require 'plugins/pagination'
3
+ #
4
+ #class TestPagination < ActiveSupport::TestCase
5
+ # fixtures :reference_types, :reference_codes
6
+ #
7
+ # include ActionController::Pagination
8
+ # DEFAULT_PAGE_SIZE = 2
9
+ #
10
+ # attr_accessor :params
11
+ #
12
+ # CLASSES = {
13
+ # :single => {
14
+ # :class => ReferenceType,
15
+ # :primary_keys => :reference_type_id,
16
+ # :table => :reference_types,
17
+ # },
18
+ # :dual => {
19
+ # :class => ReferenceCode,
20
+ # :primary_keys => [:reference_type_id, :reference_code],
21
+ # :table => :reference_codes,
22
+ # },
23
+ # }
24
+ #
25
+ # def setup
26
+ # self.class.classes = CLASSES
27
+ # @params = {}
28
+ # end
29
+ #
30
+ # def test_paginate_all
31
+ # testing_with do
32
+ # @object_pages, @objects = paginate @klass_info[:table], :per_page => DEFAULT_PAGE_SIZE
33
+ # assert_equal 2, @objects.length, "Each page should have #{DEFAULT_PAGE_SIZE} items"
34
+ # end
35
+ # end
36
+ #end
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestPolymorphic < ActiveSupport::TestCase
4
4
  fixtures :users, :employees, :comments, :hacks
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestEqual < ActiveSupport::TestCase
4
4
  fixtures :departments
@@ -1,6 +1,6 @@
1
1
  # Test cases devised by Santiago that broke the Composite Primary Keys
2
2
  # code at one point in time. But no more!!!
3
- require 'abstract_unit'
3
+ require './abstract_unit'
4
4
 
5
5
  class TestSantiago < ActiveSupport::TestCase
6
6
  fixtures :suburbs, :streets, :users, :articles, :readings
data/test/test_suite.rb CHANGED
@@ -1,22 +1,22 @@
1
1
  require 'test/unit'
2
2
 
3
- require 'test_associations'
4
- require 'test_attribute_methods'
5
- require 'test_attributes'
6
- require 'test_composite_arrays'
7
- require 'test_create'
8
- require 'test_delete'
9
- require 'test_dup'
10
- require 'test_equal'
11
- require 'test_exists'
12
- require 'test_find'
13
- require 'test_habtm'
14
- require 'test_ids'
15
- require 'test_miscellaneous'
16
- require 'test_pagination'
17
- require 'test_polymorphic'
18
- require 'test_predicates'
19
- require 'test_santiago'
20
- require 'test_tutorial_example'
21
- require 'test_update'
22
- require 'test_validations'
3
+ require './test_associations'
4
+ require './test_attribute_methods'
5
+ require './test_attributes'
6
+ require './test_composite_arrays'
7
+ require './test_create'
8
+ require './test_delete'
9
+ require './test_dup'
10
+ require './test_equal'
11
+ require './test_exists'
12
+ require './test_find'
13
+ require './test_habtm'
14
+ require './test_ids'
15
+ require './test_miscellaneous'
16
+ require './test_pagination'
17
+ require './test_polymorphic'
18
+ require './test_predicates'
19
+ require './test_santiago'
20
+ require './test_tutorial_example'
21
+ require './test_update'
22
+ require './test_validations'
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestTutorialExample < ActiveSupport::TestCase
4
4
  fixtures :users, :groups, :memberships, :membership_statuses
data/test/test_update.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestUpdate < ActiveSupport::TestCase
4
4
  fixtures :reference_types, :reference_codes
@@ -1,4 +1,4 @@
1
- require 'abstract_unit'
1
+ require './abstract_unit'
2
2
 
3
3
  class TestValidations < ActiveSupport::TestCase
4
4
  fixtures :seats
metadata CHANGED
@@ -1,53 +1,35 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: composite_primary_keys
3
- version: !ruby/object:Gem::Version
4
- hash: 62196269
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.0.beta8
5
5
  prerelease: 6
6
- segments:
7
- - 4
8
- - 0
9
- - 0
10
- - beta
11
- - 7
12
- version: 4.0.0.beta7
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Dr Nic Williams
16
9
  - Charlie Savage
17
10
  autorequire:
18
11
  bindir: bin
19
12
  cert_chain: []
20
-
21
- date: 2011-07-26 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
13
+ date: 2011-08-22 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
24
16
  name: activerecord
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &21190524 !ruby/object:Gem::Requirement
27
18
  none: false
28
- requirements:
29
- - - "="
30
- - !ruby/object:Gem::Version
31
- hash: 15424111
32
- segments:
33
- - 3
34
- - 1
35
- - 0
36
- - rc
37
- - 5
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
38
22
  version: 3.1.0.rc5
39
23
  type: :runtime
40
- version_requirements: *id001
24
+ prerelease: false
25
+ version_requirements: *21190524
41
26
  description: Composite key support for ActiveRecord 3
42
- email:
27
+ email:
43
28
  - drnicwilliams@gmail.com
44
29
  executables: []
45
-
46
30
  extensions: []
47
-
48
31
  extra_rdoc_files: []
49
-
50
- files:
32
+ files:
51
33
  - Rakefile
52
34
  - History.txt
53
35
  - README.txt
@@ -101,7 +83,7 @@ files:
101
83
  - test/connections/native_oracle/connection.rb
102
84
  - test/connections/native_oracle_enhanced/connection.rb
103
85
  - test/connections/native_postgresql/connection.rb
104
- - test/connections/native_sqlite/connection.rb
86
+ - test/connections/native_sqlite3/connection.rb
105
87
  - test/db_test.rb
106
88
  - test/debug.log
107
89
  - test/fixtures/article.rb
@@ -192,42 +174,29 @@ files:
192
174
  - test/test_validations.rb
193
175
  homepage: http://github.com/cfis/composite_primary_keys
194
176
  licenses: []
195
-
196
177
  post_install_message:
197
178
  rdoc_options: []
198
-
199
- require_paths:
179
+ require_paths:
200
180
  - lib
201
- required_ruby_version: !ruby/object:Gem::Requirement
181
+ required_ruby_version: !ruby/object:Gem::Requirement
202
182
  none: false
203
- requirements:
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- hash: 57
207
- segments:
208
- - 1
209
- - 8
210
- - 7
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
211
186
  version: 1.8.7
212
- required_rubygems_version: !ruby/object:Gem::Requirement
187
+ required_rubygems_version: !ruby/object:Gem::Requirement
213
188
  none: false
214
- requirements:
215
- - - ">"
216
- - !ruby/object:Gem::Version
217
- hash: 25
218
- segments:
219
- - 1
220
- - 3
221
- - 1
189
+ requirements:
190
+ - - ! '>'
191
+ - !ruby/object:Gem::Version
222
192
  version: 1.3.1
223
193
  requirements: []
224
-
225
194
  rubyforge_project: compositekeys
226
- rubygems_version: 1.8.5
195
+ rubygems_version: 1.8.8
227
196
  signing_key:
228
197
  specification_version: 3
229
198
  summary: Composite key support for ActiveRecord
230
- test_files:
199
+ test_files:
231
200
  - test/abstract_unit.rb
232
201
  - test/db_test.rb
233
202
  - test/debug.log