we-promise/sure · error · ArgumentError
End date (#{validated_end_date}) cannot be in the future
Error message
End date (#{validated_end_date}) cannot be in the future What it means
Error "End date (#{validated_end_date}) cannot be in the future" thrown in we-promise/sure.
Source
Thrown at app/models/provider/yahoo_finance.rb:657
raise Error, "Date range too large (max 5 years)" if end_date > start_date + 5.years
end
def validate_date_params!(start_date, end_date)
# Validate presence and coerce to dates
validated_start_date = validate_and_coerce_date!(start_date, "start_date")
validated_end_date = validate_and_coerce_date!(end_date, "end_date")
# Ensure start_date <= end_date
if validated_start_date > validated_end_date
error_msg = "Start date (#{validated_start_date}) cannot be after end date (#{validated_end_date})"
raise ArgumentError, error_msg
end
# Ensure end_date is not in the future
today = Date.current
if validated_end_date > today
error_msg = "End date (#{validated_end_date}) cannot be in the future"
raise ArgumentError, error_msg
end
# Optional: Enforce max lookback window (configurable via constant)
max_lookback = MAX_LOOKBACK_WINDOW.ago.to_date
if validated_start_date < max_lookback
error_msg = "Start date (#{validated_start_date}) exceeds maximum lookback window (#{max_lookback})"
raise ArgumentError, error_msg
end
end
def validate_and_coerce_date!(date_param, param_name)
# Check presence
if date_param.blank?
error_msg = "#{param_name} cannot be blank"
raise ArgumentError, error_msg
end
# Try to coerce to dateView on GitHub (pinned to e69894adb9)
When it happens
Trigger: Thrown at app/models/provider/yahoo_finance.rb:657 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of we-promise/sure@e69894adb9 (2026-08-21).
Data as JSON: /api/errors/7e24a91ce341ff94.
Report an issue: GitHub.