summaryrefslogtreecommitdiff
path: root/lib/rubygems/optparse/lib/optparse/date.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2021-11-16 20:19:13 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2021-11-16 20:19:13 +0900
commitf3bda8987ecf78aa260e697232876b35f83b67c3 (patch)
tree4031690093d2cb9ca6f0b25e723771bacf76e872 /lib/rubygems/optparse/lib/optparse/date.rb
parent84fdaaab4605020103c77df7665556de0a02dad2 (diff)
Merge the master branch of rubygems repo
Picked from https://github.com/rubygems/rubygems/commit/4b498709a015a94e14a3852a1841a7a3e669133d
Diffstat (limited to 'lib/rubygems/optparse/lib/optparse/date.rb')
-rw-r--r--lib/rubygems/optparse/lib/optparse/date.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/rubygems/optparse/lib/optparse/date.rb b/lib/rubygems/optparse/lib/optparse/date.rb
new file mode 100644
index 0000000000..11131e92c2
--- /dev/null
+++ b/lib/rubygems/optparse/lib/optparse/date.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: false
+require 'rubygems/optparse/lib/optparse'
+require 'date'
+
+Gem::OptionParser.accept(DateTime) do |s,|
+ begin
+ DateTime.parse(s) if s
+ rescue ArgumentError
+ raise Gem::OptionParser::InvalidArgument, s
+ end
+end
+Gem::OptionParser.accept(Date) do |s,|
+ begin
+ Date.parse(s) if s
+ rescue ArgumentError
+ raise Gem::OptionParser::InvalidArgument, s
+ end
+end