activerecord-postgresql-extensions 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +0 -5
- data/lib/active_record/postgresql_extensions/adapter_extensions.rb +19 -4
- data/lib/active_record/postgresql_extensions/triggers.rb +10 -3
- data/lib/active_record/postgresql_extensions/version.rb +1 -1
- data/test/adapter_extensions_tests.rb +16 -0
- data/test/trigger_tests.rb +16 -0
- metadata +12 -19
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c65ffc95f16b554687be6eb67df6ddffc03c6283
|
4
|
+
data.tar.gz: 658228acaf0587e77eefc4d67eb31c4138bc65b2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1c235b23d95dee1557b29fb8b7c10ab930284434f89b0d43fc742b7994460b7874d1e1eb4b58ce39efdf0504578e797e22c0b25eacf1f122743d470992720c74
|
7
|
+
data.tar.gz: 0405416cfeb48626e6f26580649858938fcd3636c5853e43385f3d28b08220d18508d546e170739835fd781abfdd0f37bf68ccd5dfcc56c54a24363b25bde53b
|
data/Gemfile
CHANGED
@@ -499,7 +499,12 @@ module ActiveRecord
|
|
499
499
|
quoted_table_name = quote_table_name(table)
|
500
500
|
triggers = if triggers.present?
|
501
501
|
triggers.collect { |trigger|
|
502
|
-
|
502
|
+
case trigger
|
503
|
+
when :all, :user
|
504
|
+
trigger.to_s.upcase
|
505
|
+
else
|
506
|
+
quote_generic(trigger)
|
507
|
+
end
|
503
508
|
}
|
504
509
|
else
|
505
510
|
'ALL'
|
@@ -511,12 +516,19 @@ module ActiveRecord
|
|
511
516
|
end
|
512
517
|
|
513
518
|
# Disable triggers. If no triggers are specified, all triggers will
|
514
|
-
# be disabled.
|
519
|
+
# be disabled. You can specify <tt>ALL</tt> or <tt>USER</tt> triggers
|
520
|
+
# by using the symbols <tt>:all</tt> or <tt>:user</tt>. If you have
|
521
|
+
# actual triggers named "all" or "user", use Strings instead of Symbols.
|
515
522
|
def disable_triggers(table, *triggers)
|
516
523
|
quoted_table_name = quote_table_name(table)
|
517
524
|
triggers = if triggers.present?
|
518
525
|
triggers.collect { |trigger|
|
519
|
-
|
526
|
+
case trigger
|
527
|
+
when :all, :user
|
528
|
+
trigger.to_s.upcase
|
529
|
+
else
|
530
|
+
quote_generic(trigger)
|
531
|
+
end
|
520
532
|
}
|
521
533
|
else
|
522
534
|
'ALL'
|
@@ -528,7 +540,10 @@ module ActiveRecord
|
|
528
540
|
end
|
529
541
|
|
530
542
|
# Temporarily disable triggers. If no triggers are specified, all
|
531
|
-
# triggers will be disabled.
|
543
|
+
# triggers will be disabled. You can specify <tt>ALL</tt> or
|
544
|
+
# <tt>USER</tt> triggers by using the symbols <tt>:all</tt> or
|
545
|
+
# <tt>:user</tt>. If you have actual triggers named "all" or "user", use
|
546
|
+
# Strings instead of Symbols.
|
532
547
|
def without_triggers(table, *triggers)
|
533
548
|
disable_triggers(table, *triggers)
|
534
549
|
yield
|
@@ -17,19 +17,26 @@ module ActiveRecord
|
|
17
17
|
class Base
|
18
18
|
class << self
|
19
19
|
# Enable triggers. If no triggers are specified, all triggers will
|
20
|
-
# be enabled.
|
20
|
+
# be enabled. You can specify <tt>ALL</tt> or <tt>USER</tt> triggers
|
21
|
+
# by using the symbols <tt>:all</tt> or <tt>:user</tt>. If you have
|
22
|
+
# actual triggers named "all" or "user", use Strings instead of Symbols.
|
21
23
|
def enable_triggers(*triggers)
|
22
24
|
self.connection.enable_triggers(self.table_name, *triggers)
|
23
25
|
end
|
24
26
|
|
25
27
|
# Disable triggers. If no triggers are specified, all triggers will
|
26
|
-
# be disabled.
|
28
|
+
# be disabled. You can specify <tt>ALL</tt> or <tt>USER</tt> triggers
|
29
|
+
# by using the symbols <tt>:all</tt> or <tt>:user</tt>. If you have
|
30
|
+
# actual triggers named "all" or "user", use Strings instead of Symbols.
|
27
31
|
def disable_triggers(*triggers)
|
28
32
|
self.connection.disable_triggers(self.table_name, *triggers)
|
29
33
|
end
|
30
34
|
|
31
35
|
# Temporarily disable triggers. If no triggers are specified, all
|
32
|
-
# triggers will be disabled.
|
36
|
+
# triggers will be disabled. You can specify <tt>ALL</tt> or
|
37
|
+
# <tt>USER</tt> triggers by using the symbols <tt>:all</tt> or
|
38
|
+
# <tt>:user</tt>. If you have actual triggers named "all" or "user",
|
39
|
+
# use Strings instead of Symbols.
|
33
40
|
def without_triggers(*triggers)
|
34
41
|
self.connection.without_triggers(self.table_name, *triggers) do
|
35
42
|
yield
|
@@ -82,11 +82,19 @@ class AdapterExtensionTests < PostgreSQLExtensionsTestCase
|
|
82
82
|
|
83
83
|
def test_enable_triggers
|
84
84
|
ARBC.enable_triggers(:foo)
|
85
|
+
ARBC.enable_triggers(:foo, :all)
|
86
|
+
ARBC.enable_triggers(:foo, "all")
|
87
|
+
ARBC.enable_triggers(:foo, :user)
|
88
|
+
ARBC.enable_triggers(:foo, "user")
|
85
89
|
ARBC.enable_triggers(:foo, :bar)
|
86
90
|
ARBC.enable_triggers(:foo, :bar, :baz)
|
87
91
|
|
88
92
|
assert_equal([
|
89
93
|
%{ALTER TABLE "foo" ENABLE TRIGGER ALL;},
|
94
|
+
%{ALTER TABLE "foo" ENABLE TRIGGER ALL;},
|
95
|
+
%{ALTER TABLE "foo" ENABLE TRIGGER "all";},
|
96
|
+
%{ALTER TABLE "foo" ENABLE TRIGGER USER;},
|
97
|
+
%{ALTER TABLE "foo" ENABLE TRIGGER "user";},
|
90
98
|
%{ALTER TABLE "foo" ENABLE TRIGGER "bar";},
|
91
99
|
%{ALTER TABLE "foo" ENABLE TRIGGER "bar";},
|
92
100
|
%{ALTER TABLE "foo" ENABLE TRIGGER "baz";}
|
@@ -95,11 +103,19 @@ class AdapterExtensionTests < PostgreSQLExtensionsTestCase
|
|
95
103
|
|
96
104
|
def test_disable_triggers
|
97
105
|
ARBC.disable_triggers(:foo)
|
106
|
+
ARBC.disable_triggers(:foo, :all)
|
107
|
+
ARBC.disable_triggers(:foo, "all")
|
108
|
+
ARBC.disable_triggers(:foo, :user)
|
109
|
+
ARBC.disable_triggers(:foo, "user")
|
98
110
|
ARBC.disable_triggers(:foo, :bar)
|
99
111
|
ARBC.disable_triggers(:foo, :bar, :baz)
|
100
112
|
|
101
113
|
assert_equal([
|
102
114
|
%{ALTER TABLE "foo" DISABLE TRIGGER ALL;},
|
115
|
+
%{ALTER TABLE "foo" DISABLE TRIGGER ALL;},
|
116
|
+
%{ALTER TABLE "foo" DISABLE TRIGGER "all";},
|
117
|
+
%{ALTER TABLE "foo" DISABLE TRIGGER USER;},
|
118
|
+
%{ALTER TABLE "foo" DISABLE TRIGGER "user";},
|
103
119
|
%{ALTER TABLE "foo" DISABLE TRIGGER "bar";},
|
104
120
|
%{ALTER TABLE "foo" DISABLE TRIGGER "bar";},
|
105
121
|
%{ALTER TABLE "foo" DISABLE TRIGGER "baz";}
|
data/test/trigger_tests.rb
CHANGED
@@ -5,11 +5,19 @@ require 'test_helper'
|
|
5
5
|
class TriggerTests < PostgreSQLExtensionsTestCase
|
6
6
|
def test_enable_triggers
|
7
7
|
Foo.enable_triggers
|
8
|
+
Foo.enable_triggers(:all)
|
9
|
+
Foo.enable_triggers("all")
|
10
|
+
Foo.enable_triggers(:user)
|
11
|
+
Foo.enable_triggers("user")
|
8
12
|
Foo.enable_triggers(:bar)
|
9
13
|
Foo.enable_triggers(:bar, :baz)
|
10
14
|
|
11
15
|
assert_equal([
|
12
16
|
%{ALTER TABLE "foos" ENABLE TRIGGER ALL;},
|
17
|
+
%{ALTER TABLE "foos" ENABLE TRIGGER ALL;},
|
18
|
+
%{ALTER TABLE "foos" ENABLE TRIGGER "all";},
|
19
|
+
%{ALTER TABLE "foos" ENABLE TRIGGER USER;},
|
20
|
+
%{ALTER TABLE "foos" ENABLE TRIGGER "user";},
|
13
21
|
%{ALTER TABLE "foos" ENABLE TRIGGER "bar";},
|
14
22
|
%{ALTER TABLE "foos" ENABLE TRIGGER "bar";},
|
15
23
|
%{ALTER TABLE "foos" ENABLE TRIGGER "baz";}
|
@@ -18,11 +26,19 @@ class TriggerTests < PostgreSQLExtensionsTestCase
|
|
18
26
|
|
19
27
|
def test_disable_triggers
|
20
28
|
Foo.disable_triggers
|
29
|
+
Foo.disable_triggers(:all)
|
30
|
+
Foo.disable_triggers("all")
|
31
|
+
Foo.disable_triggers(:user)
|
32
|
+
Foo.disable_triggers("user")
|
21
33
|
Foo.disable_triggers(:bar)
|
22
34
|
Foo.disable_triggers(:bar, :baz)
|
23
35
|
|
24
36
|
assert_equal([
|
25
37
|
%{ALTER TABLE "foos" DISABLE TRIGGER ALL;},
|
38
|
+
%{ALTER TABLE "foos" DISABLE TRIGGER ALL;},
|
39
|
+
%{ALTER TABLE "foos" DISABLE TRIGGER "all";},
|
40
|
+
%{ALTER TABLE "foos" DISABLE TRIGGER USER;},
|
41
|
+
%{ALTER TABLE "foos" DISABLE TRIGGER "user";},
|
26
42
|
%{ALTER TABLE "foos" DISABLE TRIGGER "bar";},
|
27
43
|
%{ALTER TABLE "foos" DISABLE TRIGGER "bar";},
|
28
44
|
%{ALTER TABLE "foos" DISABLE TRIGGER "baz";}
|
metadata
CHANGED
@@ -1,32 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-postgresql-extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.6.0
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- J Smith
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-06 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activerecord
|
16
|
-
type: :runtime
|
17
15
|
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '2.3'
|
22
|
-
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
|
-
- -
|
24
|
+
- - ">="
|
26
25
|
- !ruby/object:Gem::Version
|
27
26
|
version: '2.3'
|
28
|
-
none: false
|
29
|
-
prerelease: false
|
30
27
|
description: A whole bunch of extensions the ActiveRecord PostgreSQL adapter.
|
31
28
|
email: code@zoocasa.com
|
32
29
|
executables: []
|
@@ -34,7 +31,7 @@ extensions: []
|
|
34
31
|
extra_rdoc_files:
|
35
32
|
- README.rdoc
|
36
33
|
files:
|
37
|
-
- .gitignore
|
34
|
+
- ".gitignore"
|
38
35
|
- Gemfile
|
39
36
|
- Guardfile
|
40
37
|
- MIT-LICENSE
|
@@ -94,30 +91,26 @@ files:
|
|
94
91
|
homepage: http://github.com/zoocasa/activerecord-postgresql-extensions
|
95
92
|
licenses:
|
96
93
|
- MIT
|
94
|
+
metadata: {}
|
97
95
|
post_install_message:
|
98
96
|
rdoc_options: []
|
99
97
|
require_paths:
|
100
98
|
- lib
|
101
99
|
required_ruby_version: !ruby/object:Gem::Requirement
|
102
100
|
requirements:
|
103
|
-
- -
|
101
|
+
- - ">="
|
104
102
|
- !ruby/object:Gem::Version
|
105
|
-
segments:
|
106
|
-
- 0
|
107
|
-
hash: -2185802577024505074
|
108
103
|
version: '0'
|
109
|
-
none: false
|
110
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
105
|
requirements:
|
112
|
-
- -
|
106
|
+
- - ">="
|
113
107
|
- !ruby/object:Gem::Version
|
114
108
|
version: '0'
|
115
|
-
none: false
|
116
109
|
requirements: []
|
117
110
|
rubyforge_project:
|
118
|
-
rubygems_version:
|
111
|
+
rubygems_version: 2.2.1
|
119
112
|
signing_key:
|
120
|
-
specification_version:
|
113
|
+
specification_version: 4
|
121
114
|
summary: A whole bunch of extensions the ActiveRecord PostgreSQL adapter.
|
122
115
|
test_files:
|
123
116
|
- test/adapter_extensions_tests.rb
|