# File lib/choice.rb, line 14
  def options(hash = {}, &block)
    # if we are passing in a hash to define our options, use that straight
    options_from_hash(hash) unless hash.empty?

    # Setup all instance variables
    reset! if hash.empty?
    @@args ||= ARGV
    
    # Eval the passed block to define the options.
    instance_eval(&block) if block_given?

    # Parse what we've got.
    parse unless parsed?
  end