we-promise/sure · error · Provider::YahooFinance::Error
Date range too large (max 5 years)
Error message
Date range too large (max 5 years)
What it means
Error "Date range too large (max 5 years)" thrown in we-promise/sure.
Source
Thrown at app/models/provider/yahoo_finance.rb:639
.group_by { |s| [ EXCHANGE_CONFIG[s.exchange_operating_mic][:dual_list_group], s.name.to_s.strip.downcase ] }
.each_value do |group|
next unless group.size > 1
preferred = group.min_by { |s| EXCHANGE_CONFIG[s.exchange_operating_mic][:preference_rank] }
group.each { |s| dominated << s.object_id unless s.equal?(preferred) }
end
return securities if dominated.empty?
securities.reject { |s| dominated.include?(s.object_id) }
end
# ================================
# Validation
# ================================
def validate_date_range!(start_date, end_date)
raise Error, "Start date cannot be after end date" if start_date > end_date
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_msgView on GitHub (pinned to e69894adb9)
When it happens
Trigger: Thrown at app/models/provider/yahoo_finance.rb:639 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/c8cb80fcc754f248.
Report an issue: GitHub.