Sha256: 03e45a208986d32343938adcf12027443dc6cdac0cc34d09540e9368c0a574eb
Contents?: true
Size: 763 Bytes
Versions: 2
Compression:
Stored size: 763 Bytes
Contents
# frozen_string_literal: true module Strict class AssignmentError < Error attr_reader :invalid_attribute, :value def initialize(assignable_class:, invalid_attribute:, value:) super(message_from(assignable_class:, invalid_attribute:, value:)) @invalid_attribute = invalid_attribute @value = value end private def message_from(assignable_class:, invalid_attribute:, value:) details = invalid_attribute_message_from(invalid_attribute, value) "Assignment to #{invalid_attribute.name} of #{assignable_class} failed because:\n#{details}" end def invalid_attribute_message_from(invalid_attribute, value) " - got #{value.inspect}, expected #{invalid_attribute.validator.inspect}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
strict-1.1.0 | lib/strict/assignment_error.rb |
strict-1.0.0 | lib/strict/assignment_error.rb |