更改库范围内的日期默认 to_s 格式

Change Date default to_s format in the scope of library

我希望库范围内的所有日期都具有通用格式 ("%d.%m.%Y") 而不是默认格式 ("%Y-%d-%m")。现在我想出了 3 种不同的方法(我不喜欢其中任何一种)来完成我想要的。所有这些都在下面按照从最痛苦到最不痛苦的顺序表示:

  1. 明确定义所有带有日期的属性,并在导出器中将它们转换为必要的格式;
  2. 为每个具有必要格式的 Date 实例重新定义 to_s 方法;
  3. 使用自定义 to_s 方法定义 Date class 的自定义后代。

附加信息:

问题如下:

有没有更好的方法来处理我正在努力解决的问题(如果没有,那么在上面已经表示的那些问题之间最优雅的方法是什么)

创建另一个模块,对 Date::to_s

进行细化
module MyDate
  refine Date do
    def to_s
      # here goes your implementation of to_s
    end
  end
end

然后:

 class NeedsCustomDateFormat
  using MyDate
  # All Date instances will have the custom to_s
 end