module IAmICan::ResultOf
Public Instance Methods
call(assignment, given, msg_prefix:, fail_msg:, config:)
click to toggle source
# File lib/i_am_i_can/helpers/result_of.rb, line 52 def call(assignment, given, msg_prefix:, fail_msg:, config:) instances, names = given instances.map!(&:name).map!(&:to_sym) assignment = assignment.map(&:name).map(&:to_sym) unless assignment.first.is_a?(Symbol) to_be_assigned_names = (instances + names).uniq failed_items = to_be_assigned_names - assignment msg = msg_prefix + (assignment.blank? ? 'do nothing' : "#{assignment} DONE") msg << "; And #{failed_items} #{fail_msg}" if failed_items.present? if config.strict_mode && failed_items.present? raise Error, msg else Rails.logger.info(" * #{msg}".green) unless ENV['ITEST'] assignment end end