diff --git a/lib/origin/extensions/time.rb b/lib/origin/extensions/time.rb index 2b530cf..aa4a4c2 100644 --- a/lib/origin/extensions/time.rb +++ b/lib/origin/extensions/time.rb @@ -5,6 +5,18 @@ module Extensions # This module contains additional time behaviour. module Time + # Evolve the time as a date, UTC midnight. + # + # @example Evolve the time to a date query format. + # time.__evolve_date__ + # + # @return [ Time ] The date at midnight UTC. + # + # @since 1.0.0 + def __evolve_date__ + ::Time.utc(year, month, day, 0, 0, 0, 0) + end + # Evolve the time into a utc time. # # @example Evolve the time. diff --git a/spec/origin/extensions/time_spec.rb b/spec/origin/extensions/time_spec.rb index 60bb66e..c089ead 100644 --- a/spec/origin/extensions/time_spec.rb +++ b/spec/origin/extensions/time_spec.rb @@ -318,6 +318,21 @@ end end + describe "#__evolve_date__" do + + let(:time) do + Time.new(2010, 1, 1, 12, 0, 0) + end + + let(:evolved) do + time.__evolve_date__ + end + + it "returns midnight utc" do + evolved.should eq(Time.utc(2010, 1, 1, 0, 0, 0)) + end + end + describe "#__evolve_time__" do let(:time) do