module Abstractor::Methods::Models::AbstractorAbstractionGroup::InstanceMethods
Public Instance Methods
has_subtype?(s)
click to toggle source
# File lib/abstractor/methods/models/abstractor_abstraction_group.rb, line 35 def has_subtype?(s) subtype == s end
removable?()
click to toggle source
Determines if the group can be removed.
@return [Boolean]
# File lib/abstractor/methods/models/abstractor_abstraction_group.rb, line 31 def removable? !system_generated end
Private Instance Methods
must_have_members()
click to toggle source
# File lib/abstractor/methods/models/abstractor_abstraction_group.rb, line 48 def must_have_members if self.abstractor_abstraction_group_members.empty? || self.abstractor_abstraction_group_members.all? {|abstractor_abstraction_group_member| abstractor_abstraction_group_member.marked_for_destruction? } errors.add(:base, 'Must have at least one abstractor_abstraction_group_member') end end
update_abstractor_abstraction_group_members()
click to toggle source
# File lib/abstractor/methods/models/abstractor_abstraction_group.rb, line 40 def update_abstractor_abstraction_group_members return unless deleted? abstractor_abstraction_group_members.each do |gm| gm.soft_delete! gm.abstractor_abstraction.soft_delete! end end
validate_subject_group_cardinality()
click to toggle source
# File lib/abstractor/methods/models/abstractor_abstraction_group.rb, line 54 def validate_subject_group_cardinality return if self.abstractor_subject_group.cardinality.blank? || self.persisted? errors.add(:base,"Subject group reached maximum number of abstraction groups (#{abstractor_subject_group.cardinality})") if self.about.abstractor_subject_group_complete?(self.abstractor_subject_group_id) end