class Plumb::AttributeValueMatch

def _inspect = @inspect_line

def _inspect = @inspect_line

def call(result)

def call(result)
  return result if value === result.value.public_send(attr_name)
  result.invalid(errors: @error)
end

def initialize(type, attr_name, value)

def initialize(type, attr_name, value)
  @type = type
  @attr_name = attr_name
  @value = value
  @error = "must have attribute #{attr_name} === #{value.inspect}"
  @inspect_line = %((#{attr_name} === #{value.inspect}))
  freeze
end

def metadata = type.metadata

def metadata = type.metadata