module Abstractor::Methods::Models::AbstractorAbstraction::ClassMethods
Public Instance Methods
update_abstractor_abstraction_other_value(abstractor_abstractions, abstraction_other_value_type)
click to toggle source
Updates all abstractor abstractions passed in to ‘not applicable’ or ‘unknown’.
@param [Abstractor::Enum::ABSTRACTION_OTHER_VALUE_TYPE_UNKNOWN, Abstractor::Enum::ABSTRACTION_OTHER_VALUE_TYPE_NOT_APPLICABLE] abstraction_other_value_type contorls whether to update all abstractor abstractions in the group to ‘unknown’ or ‘not applicable’ @return [void]
# File lib/abstractor/methods/models/abstractor_abstraction.rb, line 140 def update_abstractor_abstraction_other_value(abstractor_abstractions, abstraction_other_value_type) raise(ArgumentError, "abstraction_value_type argument invalid") unless Abstractor::Enum::ABSTRACTION_OTHER_VALUE_TYPES.include?(abstraction_other_value_type) rejected_status = Abstractor::AbstractorSuggestionStatus.where(:name => 'Rejected').first accepted_status = Abstractor::AbstractorSuggestionStatus.where(:name => 'Accepted').first case abstraction_other_value_type when Abstractor::Enum::ABSTRACTION_OTHER_VALUE_TYPE_UNKNOWN unknown = true not_applicable = false when Abstractor::Enum::ABSTRACTION_OTHER_VALUE_TYPE_NOT_APPLICABLE unknown = false not_applicable = true end Abstractor::AbstractorAbstraction.transaction do if abstraction_other_value_type abstractor_abstractions.each do |abstractor_abstraction| abstractor_abstraction.abstractor_suggestions.each do |abstractor_suggestion| if unknown && abstractor_suggestion.unknown abstractor_suggestion.abstractor_suggestion_status = accepted_status abstractor_suggestion.save! else set_abstractor_abstraction(abstractor_abstraction, unknown, not_applicable) abstractor_suggestion.abstractor_suggestion_status = rejected_status abstractor_suggestion.save! end end if abstractor_abstraction.abstractor_suggestions.empty? abstractor_abstraction.unknown = unknown abstractor_abstraction.not_applicable = not_applicable abstractor_abstraction.save! end end end end end
Private Instance Methods
set_abstractor_abstraction(abstractor_abstraction, unknown, not_applicable)
click to toggle source
# File lib/abstractor/methods/models/abstractor_abstraction.rb, line 179 def set_abstractor_abstraction(abstractor_abstraction, unknown, not_applicable) abstractor_abstraction.value = nil abstractor_abstraction.unknown = unknown abstractor_abstraction.not_applicable = not_applicable abstractor_abstraction.save! end