lib/geos/polygon.rb
def as_geojson(options = {})
      options = {
        :interior_rings => true
      }.merge(options)

      ret = {
        :type => 'Polygon',
        :coordinates => [ self.exterior_ring.coord_seq.to_a ]
      }

      if options[:interior_rings] && self.num_interior_rings > 0
        ret[:coordinates].concat self.interior_rings.collect { |r|
          r.coord_seq.to_a
        }
      end

      ret
    end
def as_geojson(options = {})
      options = {
        :interior_rings => true
      }.merge(options)

      ret = {
        :type => 'Polygon',
        :coordinates => [ self.exterior_ring.coord_seq.to_a ]
      }

      if options[:interior_rings] && self.num_interior_rings > 0
        ret[:coordinates].concat self.interior_rings.collect { |r|
          r.coord_seq.to_a
        }
      end

      ret
    end
Options:

 * :interior_rings - whether to include any interior rings in the output.
   The default is true.