effective_resources 2.31.0 → 2.31.2

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: e9f2e959448928ece55fefbb7ad6fb7c52cdbe127730f54ad3b93d62cbc72f2a
4
- data.tar.gz: 5c0ed985f646902938523a43f8443418110d068e35c67f0af0d57e6d954ae1c6
3
+ metadata.gz: 6117d36172e10794bd4b3b680275e3074d2b705acd7f330e8291a9cbaca71e04
4
+ data.tar.gz: 136b7b104ff1c65424a2026da79114a71cac64a0ea92ec8ba13d756dc1190b09
5
5
  SHA512:
6
- metadata.gz: 0d35d29a8a6eae021d17f8c14004b4264d22a5a93ed061ef52616bd5b8de2ac8ccd6c9c57174a645bb2ba80a4cb1502068d5e01648259b4fb975ae079d7343f8
7
- data.tar.gz: 6fecf96c35882aad13e07be7d153653202c3c9711be6f62f5d0e5b0171194904d0d2939c543073d0b1f5a5752a1b8b34bb812c0dfaa49a5f720cd20cc1b6ecc4
6
+ metadata.gz: 2e6594ff04892f5749578597aabeadbbea52669508d110a9cc52d19523fbfce38f8df0f3523c42d3179204a0f2e43439cfe70b2a57b8749bb060f927e0feedbb
7
+ data.tar.gz: 4c55969eacdc39154b57da034c960bdbc0434c158dc56409002c31ba47fb970cf3d05c2f0a508f619686a776427862d47f0166a6fd2cea0782c656725620f984
@@ -298,4 +298,15 @@ module EffectiveDeviseUser
298
298
  def to_select2
299
299
  "<span>#{email_to_s}</span> <small>&lt;#{try(:public_email) || email}&gt;</small>"
300
300
  end
301
+
302
+ # You cannot delete a user if they have any memberships, applicants, orders, or event registrations
303
+ def destroyable?
304
+ return false if respond_to?(:archived?) && !archived?
305
+ return false if self.class.respond_to?(:effective_memberships_owner?) && (membership.present? || membership_histories.present?)
306
+ return false if self.class.respond_to?(:effective_memberships_user?) && (applicants.present? || fee_payments.present?)
307
+ return false if Effective::Order.where(user: self).present?
308
+ return false if Effective::EventRegistrant.where(owner: self).or(Effective::EventRegistrant.where(user: self)).present?
309
+ true
310
+ end
311
+
301
312
  end
@@ -53,10 +53,10 @@ module EffectiveGem
53
53
  end
54
54
 
55
55
  def class_name(name, key)
56
- raise('expected a class name with a ::') unless name.to_s.include?('::')
56
+ raise('expected name to be a string') unless name.kind_of?(String)
57
57
  raise('expected key to be a symbol') unless key.kind_of?(Symbol)
58
58
 
59
- namespace = name.to_s.split('::').first.underscore.to_sym
59
+ namespace = name.split('::').first.underscore.to_sym if name.include?('::')
60
60
  config(namespace)[(key.to_s.singularize + '_class_name').to_sym] || "Effective::#{key.to_s.singularize.classify}"
61
61
  end
62
62
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.31.0'.freeze
2
+ VERSION = '2.31.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.31.0
4
+ version: 2.31.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-27 00:00:00.000000000 Z
11
+ date: 2025-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails