pg_saurus 5.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a6d057b35291dc622b20193e085fc52c5807fd8310b1d8925b9c0636d72d95b
4
- data.tar.gz: 7f0257ad41a044c887519c844a54334172fa5e829f7c6e06c0aca6280f8f6625
3
+ metadata.gz: 4a5ce70db53d9b1636c43b1e2156bc88eeabebf62fbeb39e9ea6141bec719eb3
4
+ data.tar.gz: '058c5db2a699fba1f9bec20a0136e4fef2721f03a30b8fc74d1a83197dc20f21'
5
5
  SHA512:
6
- metadata.gz: ab15973698f38c460f51ee4879913be9c6fc4d9b7c5fde71d4e597cb230b8097b1011330017da05d2b67d8fac6c7e852c21e2d2314602ecf0892a9c3ed7251e7
7
- data.tar.gz: 680092950b8eeb8d1716edf301d14a94744ecdb352423b9550b5b84abbd59ffd323dcb226bac13707e1b4edbe4753808ccfe955cbb5f2f0890a168f1f0d3658c
6
+ metadata.gz: 4909fe1c8a4694daf48598534b9d4e0dac565224be24c055187e1fe1a125e542f48fbbd4af646b81d4cf7c2a729b56712f6687abfc5106386e302abdfbf105ed
7
+ data.tar.gz: a647b93cd3c8ac24b62c9accf944fa1874d7a902a0129eea64e2f3bf20361f855eff2ed5ee0bb18e66055bf8210a8e8aff1d6da38d663eb4679616a5c436f138
@@ -7,4 +7,10 @@ module PgSaurus
7
7
 
8
8
  # Raised if config.ensure_role_set = true, but migration have no role set.
9
9
  class RoleNotSetError < Error; end
10
+
11
+ # Raised if set_role used for data change migration.
12
+ class UseKeepDefaultRoleError < Error; end
13
+
14
+ # Raised if keep_default_role used for structure change migration.
15
+ class UseSetRoleError < Error; end
10
16
  end
@@ -13,11 +13,57 @@ module PgSaurus
13
13
  #
14
14
  # @param role [String]
15
15
  def set_role(role)
16
+ if const_defined?("SeedMigrator") && self.ancestors.include?(SeedMigrator)
17
+ msg = <<~MSG
18
+ Use keep_default_role instead of set_role for data change migration #{self}
19
+
20
+ Example:
21
+
22
+ class PopulateExample < ActiveRecord::Migration
23
+ include #{self.ancestors[1]}
24
+
25
+ keep_default_role
26
+
27
+ def up
28
+ apply_update "populate_example_data_update"
29
+ end
30
+
31
+ def down
32
+ revert_update "populate_example_data_update"
33
+ end
34
+ end
35
+ MSG
36
+
37
+ raise PgSaurus::UseKeepDefaultRoleError, msg
38
+ end
39
+
16
40
  @role = role
17
41
  end
18
42
 
19
43
  # Prevents raising exception when ensure_role_set=true and no role is set.
20
44
  def keep_default_role
45
+ if const_defined?("SeedMigrator") && !self.ancestors.include?(SeedMigrator)
46
+ msg = <<~MSG
47
+ Use set_role instead of keep_default_role for structure migration #{self}
48
+
49
+ Example:
50
+
51
+ class CreateExamples < ActiveRecord::Migration
52
+ set_role "superhero"
53
+
54
+ def up
55
+ ...
56
+ end
57
+
58
+ def down
59
+ ...
60
+ end
61
+ end
62
+ MSG
63
+
64
+ raise PgSaurus::UseSetRoleError, msg
65
+ end
66
+
21
67
  @keep_default_role = true
22
68
  end
23
69
 
@@ -1,4 +1,4 @@
1
1
  module PgSaurus
2
2
  # Version of pg_saurus gem.
3
- VERSION = "5.0.0"
3
+ VERSION = "5.1.0"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_saurus
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Potapov Sergey
@@ -298,7 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
298
  - !ruby/object:Gem::Version
299
299
  version: '0'
300
300
  requirements: []
301
- rubygems_version: 3.0.8
301
+ rubygems_version: 3.0.9
302
302
  signing_key:
303
303
  specification_version: 4
304
304
  summary: ActiveRecord extensions for PostgreSQL.