lato_spaces 3.1.7 → 3.1.8

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: 687cd734cbf573f74fff9a5e9a34bd17fd5fa9ebe4f6e777d1008e73f75b8bfb
4
- data.tar.gz: bab0a9df36e03b6607bd9c28925e23b2500dd01533b3ef24b980dcc37ea43ed8
3
+ metadata.gz: b2a2728c7ffc4de0d031f290f0b3e0052d0f52252877412244afc90948047e24
4
+ data.tar.gz: aebb7d8d111c3b3c70dfaaab05e1bce54ef7f06618b959b5a1c38cea76820efd
5
5
  SHA512:
6
- metadata.gz: ec18c04d2e1459e66d00bcf38f9de9775eae096541a199069891896ec33ed48bf1bb6106fe2d740109e43d1e3a6a8fc50bb995d9f0fb80b25da97931c9ad64ea
7
- data.tar.gz: 764ccf9ebc8c2ae7c28f44dac1d4f734852cc6f9c5d57fe3ea28612e5b01df8f0daa98bf38ade70c66279c7a8f792ba2ed3cc8f27fb82c9329995fb1e4dc8c3f
6
+ metadata.gz: 8e3ceaab436dc2dec01d13cb9db22ab5f320d4702d2e8d1f13262df3ad8ffdeea4f0982f9701cd8819bd8022a7da0f011a31b9efee934965d632cab71f36009d
7
+ data.tar.gz: 6b692ab38bc5163fb5981bbe3228947a4a13a319f2bfee216c0c78761b32bfa7ab51f72ae09c8cf9c5ee3193dfbdbfc13a999f0670844b460c2ac6cba6ab2dfc
@@ -5,7 +5,7 @@ module LatoSpaces::Associable
5
5
  # Relations
6
6
  ##
7
7
 
8
- has_many :lato_spaces_associations, class_name: 'LatoSpaces::Association', as: :item, dependent: :destroy
8
+ has_many :lato_spaces_associations, class_name: 'LatoSpaces::Association', as: :item, dependent: :nullify
9
9
  has_many :lato_spaces_groups, through: :lato_spaces_associations, class_name: 'LatoSpaces::Group'
10
10
 
11
11
  # Scopes
@@ -14,6 +14,13 @@ module LatoSpaces::Associable
14
14
  scope :for_lato_spaces_group, -> (group_id) { joins(:lato_spaces_groups).where(lato_spaces_groups: { id: group_id }) }
15
15
  scope :with_lato_spaces_groups, -> { joins(:lato_spaces_groups) }
16
16
  scope :without_lato_spaces_groups, -> { left_outer_joins(:lato_spaces_groups).where(lato_spaces_groups: { id: nil }) }
17
+
18
+ # Hooks
19
+ ##
20
+
21
+ after_destroy do
22
+ lato_spaces_associations.map(&:delete) # HACK: delete instead of destroy to avoid infinite loop caused by AssociableRequired concern
23
+ end
17
24
  end
18
25
 
19
26
  # Helpers
@@ -21,7 +21,7 @@ module LatoSpaces::AssociableRequired
21
21
 
22
22
  # listen LatoSpaces::Association destroy event to destroy item
23
23
  LatoSpaces::Association.after_destroy do |association|
24
- association.item.destroy
24
+ association.item.destroy!
25
25
  end
26
26
  end
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module LatoSpaces
2
- VERSION = "3.1.7"
2
+ VERSION = "3.1.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lato_spaces
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 3.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregorio Galante