composite_primary_keys 0.8.0 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +21 -0
- data/Manifest.txt +2 -0
- data/Rakefile +17 -4
- data/lib/composite_primary_keys/associations.rb +1 -1
- data/lib/composite_primary_keys/calculations.rb +1 -1
- data/lib/composite_primary_keys/connection_adapters/oracle_adapter.rb +11 -0
- data/lib/composite_primary_keys/version.rb +1 -1
- data/test/connections/native_oracle/connection.rb +11 -18
- data/test/fixtures/membership_statuses.yml +2 -0
- data/test/test_associations.rb +6 -0
- data/website/index.html +1 -1
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +4 -2
data/History.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
*** 0.8.2 / 2007-4-11
|
2
|
+
|
3
|
+
+ 1 major enhancement:
|
4
|
+
+ Oracle unit tests!! [Darrin Holst]
|
5
|
+
+ And they work too
|
6
|
+
|
7
|
+
*** 0.8.1 / 2007-4-10
|
8
|
+
|
9
|
+
+ 1 bug fix:
|
10
|
+
+ Fixed the distinct(count) for oracle (removed 'as')
|
11
|
+
|
12
|
+
*** 0.8.0 / 2007-4-6
|
13
|
+
|
14
|
+
+ 1 major enhancement:
|
15
|
+
+ Support for calcualtions on associations
|
16
|
+
+ 2 new DB supported:
|
17
|
+
+ Tests run on sqlite
|
18
|
+
+ Tests run on postgresql
|
19
|
+
+ History.txt to keep track of changes like these
|
20
|
+
+ Using Hoe for Rakefile
|
21
|
+
+ Website generator rake tasks
|
data/Manifest.txt
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
CHANGELOG
|
2
|
+
History.txt
|
2
3
|
Manifest.txt
|
3
4
|
README
|
4
5
|
Rakefile
|
@@ -8,6 +9,7 @@ lib/composite_primary_keys/associations.rb
|
|
8
9
|
lib/composite_primary_keys/base.rb
|
9
10
|
lib/composite_primary_keys/calculations.rb
|
10
11
|
lib/composite_primary_keys/composite_arrays.rb
|
12
|
+
lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
|
11
13
|
lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
|
12
14
|
lib/composite_primary_keys/fixtures.rb
|
13
15
|
lib/composite_primary_keys/reflection.rb
|
data/Rakefile
CHANGED
@@ -46,7 +46,7 @@ hoe = Hoe.new(GEM_NAME, VERSION) do |p|
|
|
46
46
|
p.clean_globs = CLEAN #An array of file patterns to delete on clean.
|
47
47
|
|
48
48
|
# == Optional
|
49
|
-
|
49
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
50
50
|
p.extra_deps = [['activerecord', '>= 1.14.3']] #An array of rubygem dependencies.
|
51
51
|
#p.spec_extras - A hash of extra values to set in the gemspec.
|
52
52
|
end
|
@@ -118,6 +118,20 @@ end
|
|
118
118
|
desc 'Rebuild the PostgreSQL test databases'
|
119
119
|
task :rebuild_postgresql_databases => [:drop_postgresql_databases, :build_postgresql_databases]
|
120
120
|
|
121
|
+
desc 'Build the Oracle test databases'
|
122
|
+
task :build_oracle_databases do
|
123
|
+
puts File.join(SCHEMA_PATH, 'oracle.sql')
|
124
|
+
sh %( sqlplus holstdl/holstdl@test < #{File.join(SCHEMA_PATH, 'oracle.sql')} )
|
125
|
+
end
|
126
|
+
|
127
|
+
desc 'Drop the Oracle test databases'
|
128
|
+
task :drop_oracle_databases do
|
129
|
+
sh %( sqlplus holstdl/holstdl@test < #{File.join(SCHEMA_PATH, 'oracle.drop.sql')} )
|
130
|
+
end
|
131
|
+
|
132
|
+
desc 'Rebuild the Oracle test databases'
|
133
|
+
task :rebuild_oracle_databases => [:drop_oracle_databases, :build_oracle_databases]
|
134
|
+
|
121
135
|
desc 'Generate website files'
|
122
136
|
task :website_generate do
|
123
137
|
sh %{ ruby scripts/txt2html website/index.txt > website/index.html }
|
@@ -131,9 +145,8 @@ task :website_upload do
|
|
131
145
|
host = "#{config["username"]}@rubyforge.org"
|
132
146
|
remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/"
|
133
147
|
local_dir = 'website'
|
134
|
-
sh %{rsync -av
|
148
|
+
sh %{rsync -av #{local_dir}/ #{host}:#{remote_dir}}
|
135
149
|
end
|
136
150
|
|
137
151
|
desc 'Generate and upload website files'
|
138
|
-
task :website => [:website_generate, :website_upload]
|
139
|
-
end
|
152
|
+
task :website => [:website_generate, :website_upload]
|
@@ -203,7 +203,7 @@ module ActiveRecord::Associations::ClassMethods
|
|
203
203
|
end
|
204
204
|
|
205
205
|
def full_keys(table_name, keys)
|
206
|
-
keys.collect {|key| "#{table_name}.#{key}"}.join(CompositePrimaryKeys::ID_SEP)
|
206
|
+
keys.is_a?(Array) ? keys.collect {|key| "#{table_name}.#{key}"}.join(CompositePrimaryKeys::ID_SEP) : "#{table_name}.#{keys}"
|
207
207
|
end
|
208
208
|
|
209
209
|
def composite_join_clause(full_keys1, full_keys2)
|
@@ -54,7 +54,7 @@ module CompositePrimaryKeys
|
|
54
54
|
|
55
55
|
sql << " ORDER BY #{options[:order]} " if options[:order]
|
56
56
|
add_limit!(sql, options, scope)
|
57
|
-
sql << ')
|
57
|
+
sql << ') w1' if use_workaround # assign a dummy table name as required for postgresql
|
58
58
|
sql
|
59
59
|
end
|
60
60
|
end
|
@@ -1,23 +1,16 @@
|
|
1
|
-
print "Using Oracle\n"
|
2
|
-
require_dependency 'fixtures/course'
|
1
|
+
print "Using native Oracle\n"
|
3
2
|
require 'logger'
|
4
3
|
|
5
|
-
ActiveRecord::Base.logger = Logger.new
|
6
|
-
ActiveRecord::Base.logger.level = Logger::WARN
|
4
|
+
ActiveRecord::Base.logger = Logger.new("debug.log")
|
7
5
|
|
8
|
-
|
9
|
-
db = ENV['ARUNIT_DB'] || 'ruby_ut'
|
6
|
+
db1 = 'composite_primary_keys_unittest'
|
10
7
|
|
11
|
-
|
12
|
-
:adapter => '
|
13
|
-
:username => '
|
14
|
-
:password => '
|
15
|
-
:
|
16
|
-
|
8
|
+
connection_options = {
|
9
|
+
:adapter => 'oci',
|
10
|
+
:username => 'holstdl',
|
11
|
+
:password => 'holstdl',
|
12
|
+
:host => 'test'
|
13
|
+
}
|
17
14
|
|
18
|
-
|
19
|
-
|
20
|
-
:username => 'ruby_ut',
|
21
|
-
:password => 'ruby_ut1',
|
22
|
-
:database => db
|
23
|
-
)
|
15
|
+
ActiveRecord::Base.configurations = { db1 => connection_options }
|
16
|
+
ActiveRecord::Base.establish_connection(connection_options)
|
data/test/test_associations.rb
CHANGED
@@ -72,6 +72,12 @@ class TestAssociations < Test::Unit::TestCase
|
|
72
72
|
"Incorrect number of product_tariffs returnedturned"
|
73
73
|
end
|
74
74
|
|
75
|
+
def test_find_includes_product
|
76
|
+
assert @product_tariffs = ProductTariff.find(:all, :include => :product)
|
77
|
+
assert_equal 3, @product_tariffs.length
|
78
|
+
assert_not_nil @product_tariffs.first.instance_variable_get('@product'), '@product not set'
|
79
|
+
end
|
80
|
+
|
75
81
|
def XXX_test_find_includes_extended
|
76
82
|
# TODO - what's the correct syntax?
|
77
83
|
assert @products = Product.find(:all, :include => {:product_tariffs => :tariffs})
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>Composite Primary Keys</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/compositekeys"; return false'>
|
35
35
|
Get Version
|
36
|
-
<a href="http://rubyforge.org/projects/compositekeys" class="numbers">0.8.
|
36
|
+
<a href="http://rubyforge.org/projects/compositekeys" class="numbers">0.8.2</a>
|
37
37
|
</div>
|
38
38
|
<h1>→ Ruby on Rails</h1>
|
39
39
|
|
data/website/version-raw.js
CHANGED
data/website/version.js
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: composite_primary_keys
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.8.
|
7
|
-
date: 2007-04-
|
6
|
+
version: 0.8.2
|
7
|
+
date: 2007-04-11 00:00:00 +02:00
|
8
8
|
summary: Composite key support for ActiveRecords
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,6 +30,7 @@ authors:
|
|
30
30
|
- Dr Nic Williams
|
31
31
|
files:
|
32
32
|
- CHANGELOG
|
33
|
+
- History.txt
|
33
34
|
- Manifest.txt
|
34
35
|
- README
|
35
36
|
- Rakefile
|
@@ -39,6 +40,7 @@ files:
|
|
39
40
|
- lib/composite_primary_keys/base.rb
|
40
41
|
- lib/composite_primary_keys/calculations.rb
|
41
42
|
- lib/composite_primary_keys/composite_arrays.rb
|
43
|
+
- lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
|
42
44
|
- lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
|
43
45
|
- lib/composite_primary_keys/fixtures.rb
|
44
46
|
- lib/composite_primary_keys/reflection.rb
|