Exception: Fontisan::InvalidCoordinatesError

Inherits:
VariationError show all
Defined in:
lib/fontisan/error.rb

Overview

Invalid coordinate value for variation axis

Raised when coordinate is outside valid axis range.

Instance Attribute Summary

Attributes inherited from VariationError

#context, #suggestion

Instance Method Summary collapse

Methods inherited from VariationError

#detailed_message

Constructor Details

#initialize(axis: nil, value: nil, range: nil, message: nil) ⇒ InvalidCoordinatesError

Initialize with axis details

Parameters:

  • axis (String) (defaults to: nil)

    Axis tag

  • value (Float) (defaults to: nil)

    Invalid value

  • range (Range, Array) (defaults to: nil)

    Valid range

  • message (String, nil) (defaults to: nil)

    Custom message



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/fontisan/error.rb', line 61

def initialize(axis: nil, value: nil, range: nil, message: nil)
  if message
    super(message, context: { axis: axis, value: value, range: range })
  else
    min_val = range.is_a?(Range) ? range.min : range.first
    max_val = range.is_a?(Range) ? range.max : range.last

    super(
      "Invalid coordinate for axis '#{axis}': #{value}",
      context: { axis: axis, value: value, range: range },
      suggestion: "Use value between #{min_val} and #{max_val}"
    )
  end
end