def add(sql, extras = nil)
      return self if sql.nil? || sql.empty?

      query << " " unless query.empty?
      query << interpolate(sql.strip, extras)

      self
    end
def add(sql, extras = nil)
      return self if sql.nil? || sql.empty?

      query << " " unless query.empty?
      query << interpolate(sql.strip, extras)

      self
    end
Public: Initialize a new instance.

 query - An initial SQL string (default: "").
 binds - A Hash of bind values keyed by Symbol (default: {}).  There are
         a couple exceptions.  If they clash with a bind value, add them
         in a later #bind or #add call.

         :connection     - An ActiveRecord Connection adapter.
         :force_timezone - A Symbol describing the ActiveRecord default
                           timezone.  Either :utc or :local.

 Public: Add a chunk of SQL to the query. Any ":keyword" tokens in the SQL
 will be replaced with database-safe values from the current binds.

 sql    - A String containing a fragment of SQL.
 extras - A Hash of bind values keyed by Symbol (default: {}). These bind
          values are only be used to interpolate this SQL fragment,and
          aren't available to subsequent adds.

 Returns self.
 Raises GitHub::SQL::BadBind for unknown keyword tokens.