class Structify::VersionRangeError
Error raised when trying to access a field outside its specified version range
def format_versions(versions)
def format_versions(versions) if versions.is_a?(Range) if versions.end.nil? "#{versions.begin} and above" else "#{versions.begin} to #{versions.end}#{versions.exclude_end? ? ' (exclusive)' : ''}" end elsif versions.is_a?(Array) versions.join(", ") else "#{versions} and above" # Single integer means this version and onwards end end
def initialize(field_name, record_version, valid_versions)
def initialize(field_name, record_version, valid_versions) @field_name = field_name @record_version = record_version @valid_versions = valid_versions message = "Field '#{field_name}' is not available in version #{record_version}. " \ "This field is only available in versions: #{format_versions(valid_versions)}." super(message) end