lato_spaces 3.1.7 → 3.1.8

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