# File lib/dm-validations/validation_errors.rb, line 65
      def add(field_name, message)
        # see 6abe8fff in extlib, but don't enforce
        # it unless Edge version is installed
        if message.respond_to?(:try_call)
          # DM resource
          message = if (resource.respond_to?(:model) &&
                        resource.model.respond_to?(:properties))
                      message.try_call(
                        resource,
                        resource.model.properties[field_name]
                      )
                    else
                      # pure Ruby object
                      message.try_call(resource)
                    end
        end

        (errors[field_name] ||= []) << message
      end