On Thu, Jul 26, 2012 at 8:59 PM, James Harrison <[email protected]> wrote:

> On Thu, Jul 26, 2012 at 11:15 AM, Jesús Gabriel y Galán
> <[email protected]> wrote:
>>
>> On Thu, Jul 26, 2012 at 6:58 PM, James Harrison <[email protected]>

>> This works:
>>
>> #!/usr/bin/env ruby
>> require "ostruct"
>> require "optparse"
>>
>> options = OpenStruct.new
>>
>> options.date = false
>>
>> option_parser = OptionParser.new do |opts|
>>   opts.on("-d", "--date DATE", String, "Optional: Specify date in
>> format 00-00-00") do |date|
>>     options.date = date
>>   end
>> end
>>
>> option_parser.parse!
>>
>> puts "<#{options.date}>"
>>
>> I had to add the DATE parameter in the long format specification and
>> also call parse!:

You can also have OptionParser convert it directly:

$ irb19 -r optparse -r optparse/date
irb(main):001:0> OptionParser.new{|o|o.on('-d D', Date){|v| p
v,v.class}}.parse %w{-d 2010-02-01}
#<Date: 2010-02-01 ((2455229j,0s,0n),+0s,2299161j)>
Date
=> []
irb(main):002:0> OptionParser.new{|o|o.on('-d D', DateTime){|v| p
v,v.class}}.parse %w{-d 2010-02-01}
#<DateTime: 2010-02-01T00:00:00+00:00 ((2455229j,0s,0n),+0s,2299161j)>
DateTime
=> []

Kind regards

robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

-- You received this message because you are subscribed to the Google Groups 
ruby-talk-google group. To post to this group, send email to 
[email protected]. To unsubscribe from this group, send email 
to [email protected]. For more options, visit this 
group at https://groups.google.com/d/forum/ruby-talk-google?hl=en

Reply via email to