def option(key, value, opts = {})
      @context.lines << Lines::Option.new(
        key, value, line_options(opts)
      )
    rescue LineNotAllowed
      # Tried to add an Option to a Document.
      raise NoSectionError,
        'Your INI document contains an option before the first section is ' \
        'declared which is not allowed.'
    end
def option(key, value, opts = {})
      @context.lines << Lines::Option.new(
        key, value, line_options(opts)
      )
    rescue LineNotAllowed
      # Tried to add an Option to a Document.
      raise NoSectionError,
        'Your INI document contains an option before the first section is ' \
        'declared which is not allowed.'
    end
Adds a new option to the current section.

 Can only be called as part of a section block, or after at least one
 section has been added to the document.

 ==== Parameters
 key<String>:: The key (name) for this option.
 value::       The option's value.
 opts<Hash>::  Extra options for the line (formatting, etc).

 ==== Raises
 IniParse::NoSectionError::
   If no section has been added to the document yet.