postgres_ext 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
@@ -82,6 +82,8 @@ module ActiveRecord
|
|
82
82
|
|
83
83
|
def simplified_type_with_extended_types(field_type)
|
84
84
|
case field_type
|
85
|
+
when 'uuid'
|
86
|
+
:uuid
|
85
87
|
when 'inet'
|
86
88
|
:inet
|
87
89
|
when 'cidr'
|
@@ -89,7 +91,6 @@ module ActiveRecord
|
|
89
91
|
when 'macaddr'
|
90
92
|
:macaddr
|
91
93
|
when /(\[\])$/
|
92
|
-
debugger
|
93
94
|
"#{simplified_type field_type[0..field_type.length - 3]}_array".to_sym
|
94
95
|
else
|
95
96
|
simplified_type_without_extended_types field_type
|
@@ -100,7 +101,7 @@ module ActiveRecord
|
|
100
101
|
end
|
101
102
|
|
102
103
|
class PostgreSQLAdapter
|
103
|
-
EXTENDED_TYPES = {:inet => {:name => 'inet'}, :cidr => {:name => 'cidr'}, :macaddr => {:name => 'macaddr'}}
|
104
|
+
EXTENDED_TYPES = {:inet => {:name => 'inet'}, :cidr => {:name => 'cidr'}, :macaddr => {:name => 'macaddr'}, :uuid => {:name => 'uuid'}}
|
104
105
|
class ColumnDefinition < ActiveRecord::ConnectionAdapters::ColumnDefinition
|
105
106
|
attr_accessor :array
|
106
107
|
end
|
data/lib/postgres_ext/version.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'UUID migrations' do
|
4
|
+
let!(:connection) { ActiveRecord::Base.connection }
|
5
|
+
it 'creates an uuid column' do
|
6
|
+
lambda do
|
7
|
+
connection.create_table :data_types do |t|
|
8
|
+
t.uuid :cidr_1
|
9
|
+
t.uuid :cidr_2, :cidr_3
|
10
|
+
t.column :cidr_4, :uuid
|
11
|
+
end
|
12
|
+
end.should_not raise_exception
|
13
|
+
|
14
|
+
columns = connection.columns(:data_types)
|
15
|
+
cidr_1 = columns.detect { |c| c.name == 'cidr_1'}
|
16
|
+
cidr_2 = columns.detect { |c| c.name == 'cidr_2'}
|
17
|
+
cidr_3 = columns.detect { |c| c.name == 'cidr_3'}
|
18
|
+
cidr_4 = columns.detect { |c| c.name == 'cidr_4'}
|
19
|
+
|
20
|
+
cidr_1.sql_type.should eq 'uuid'
|
21
|
+
cidr_2.sql_type.should eq 'uuid'
|
22
|
+
cidr_3.sql_type.should eq 'uuid'
|
23
|
+
cidr_4.sql_type.should eq 'uuid'
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'UUID schema dump' do
|
4
|
+
let!(:connection) { ActiveRecord::Base.connection }
|
5
|
+
it 'correctly generates uuid column statements' do
|
6
|
+
stream = StringIO.new
|
7
|
+
connection.create_table :testings do |t|
|
8
|
+
t.uuid :network_column
|
9
|
+
end
|
10
|
+
|
11
|
+
ActiveRecord::SchemaDumper.dump(connection, stream)
|
12
|
+
output = stream.string
|
13
|
+
|
14
|
+
output.should match /t\.uuid/
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: postgres_ext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -239,10 +239,12 @@ files:
|
|
239
239
|
- spec/migrations/cidr_spec.rb
|
240
240
|
- spec/migrations/inet_spec.rb
|
241
241
|
- spec/migrations/macaddr_spec.rb
|
242
|
+
- spec/migrations/uuid_spec.rb
|
242
243
|
- spec/schema_dumper/array_spec.rb
|
243
244
|
- spec/schema_dumper/cidr_spec.rb
|
244
245
|
- spec/schema_dumper/inet_spec.rb
|
245
246
|
- spec/schema_dumper/macaddr_spec.rb
|
247
|
+
- spec/schema_dumper/uuid_spec.rb
|
246
248
|
- spec/spec_helper.rb
|
247
249
|
homepage: ''
|
248
250
|
licenses: []
|
@@ -258,7 +260,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
258
260
|
version: '0'
|
259
261
|
segments:
|
260
262
|
- 0
|
261
|
-
hash:
|
263
|
+
hash: -161966388102322478
|
262
264
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
263
265
|
none: false
|
264
266
|
requirements:
|
@@ -267,7 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
269
|
version: '0'
|
268
270
|
segments:
|
269
271
|
- 0
|
270
|
-
hash:
|
272
|
+
hash: -161966388102322478
|
271
273
|
requirements: []
|
272
274
|
rubyforge_project:
|
273
275
|
rubygems_version: 1.8.23
|
@@ -332,8 +334,10 @@ test_files:
|
|
332
334
|
- spec/migrations/cidr_spec.rb
|
333
335
|
- spec/migrations/inet_spec.rb
|
334
336
|
- spec/migrations/macaddr_spec.rb
|
337
|
+
- spec/migrations/uuid_spec.rb
|
335
338
|
- spec/schema_dumper/array_spec.rb
|
336
339
|
- spec/schema_dumper/cidr_spec.rb
|
337
340
|
- spec/schema_dumper/inet_spec.rb
|
338
341
|
- spec/schema_dumper/macaddr_spec.rb
|
342
|
+
- spec/schema_dumper/uuid_spec.rb
|
339
343
|
- spec/spec_helper.rb
|