Ruby - 范围包含和覆盖方法与日期范围有什么区别?

时间:2017-01-19 17:08:00

标签: ruby-on-rails ruby date date-range rubocop

date_range = {:start_date => (DateTime.now + 1.days).to_date, :end_date => (DateTime.now + 10.days).to_date}        
date_range_to_check_for_coverage = {:start_date => (DateTime.now + 5.days).to_date, :end_date => (DateTime.now + 7.days).to_date}        

(date_range[:start_date]..date_range[:end_date]).include?((DateTime.now + 5.days).to_date)        
#true
(date_range[:start_date]..date_range[:end_date]).cover?((DateTime.now + 5.days).to_date)        
#true
(date_range[:start_date]..date_range[:end_date]).include?(date_range_to_check_for_coverage[:start_date]..date_range_to_check_for_coverage[:end_date])        
#true
(date_range[:start_date]..date_range[:end_date]).cover?(date_range_to_check_for_coverage[:start_date]..date_range_to_check_for_coverage[:end_date])        
#false

不应该在最后一行返回 true 吗?

为什么使用封面?的日期范围与 include?不同?

当我使用 include?代替封面?时,我要求 rubocop 标记冲突的原因。很明显,我的逻辑(检查范围是否包含在另一个范围内)不适用于封面?

0 个答案:

没有答案