Sha256: 368e870e74a4768cabd805b6739b7527825d31fc5f7791f1eb335f300edc107b

Contents?: true

Size: 651 Bytes

Versions: 9

Compression:

Stored size: 651 Bytes

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2010-2022, by Samuel Williams.

require 'date'

module Utopia
	module Extensions
		# Provides comparison operator extensions.
		module TimeDateComparison
			def <=>(other)
				if Date === other or DateTime === other
					self.to_datetime <=> other
				else
					super
				end
			end
		end

		::Time.prepend(TimeDateComparison)

		# Provides comparison operator extensions.
		module DateTimeComparison
			def <=>(other)
				if Time === other
					self.to_datetime <=> other.to_datetime
				else
					super
				end
			end
		end

		::Date.prepend(DateTimeComparison)
	end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
utopia-2.25.0 lib/utopia/extensions/date_comparisons.rb
utopia-2.24.4 lib/utopia/extensions/date_comparisons.rb
utopia-2.24.3 lib/utopia/extensions/date_comparisons.rb
utopia-2.24.1 lib/utopia/extensions/date_comparisons.rb
utopia-2.23.0 lib/utopia/extensions/date_comparisons.rb
utopia-2.22.2 lib/utopia/extensions/date_comparisons.rb
utopia-2.22.1 lib/utopia/extensions/date_comparisons.rb
utopia-2.22.0 lib/utopia/extensions/date_comparisons.rb
utopia-2.21.0 lib/utopia/extensions/date_comparisons.rb