def connect(action, args, options = {})
      post = args.merge(expand_options(options)).merge({action => ''})
      http_fetch("/fmi/xml/fmresultset.xml", post)
    end
def connect(action, args, options = {})
      post = args.merge(expand_options(options)).merge({action => ''})
      http_fetch("/fmi/xml/fmresultset.xml", post)
    end
Performs a raw FileMaker action. You will generally not call this method directly, but it
 is exposed in case you need to do something "under the hood."

 The +action+ parameter is any valid FileMaker web url action. For example, +-find+, +-finadny+ etc.

 The +args+ parameter is a hash of arguments to be included in the action url. It will be serialized
 and url-encoded appropriately.

 The +options+ parameter is a hash of RFM-specific options, which correspond to the more esoteric
 FileMaker URL parameters. They are exposed separately because they can also be passed into
 various methods on the Layout object, which is a much more typical way of sending an action to
 FileMaker.

 This method returns the Net::HTTP response object representing the response from FileMaker.

 For example, if you wanted to send a raw command to FileMaker to find the first 20 people in the
 "Customers" database whose first name is "Bill" you might do this:

   response = myServer.connect(
     '-find',
     {
       "-db" => "Customers",
       "-lay" => "Details",
       "First Name" => "Bill"
     },
     { :max_records => 20 }
   )