# File lib/map/options.rb, line 5
      def for(arg)
        options =
          case arg
            when Hash
              arg
            when Array
              parse(arg)
            when String, Symbol
              {arg => true}
            else
              raise(ArgumentError, arg.inspect) unless arg.respond_to?(:to_hash)
              arg.to_hash
          end

        unless options.is_a?(Options)
          options = Map.for(options)
          options.extend(Options)
        end

        raise unless options.is_a?(Map)

        options
      end