pg_saurus 5.0.0 → 5.1.0

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.
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.