Sha256: d50442e26008a19ec1180f05943326bc175e0cb9c911d72830bfafe290b72741

Contents?: true

Size: 774 Bytes

Versions: 15

Compression:

Stored size: 774 Bytes

Contents

module Torque
  module PostgreSQL
    class Circle < Struct.new(:x, :y, :r)
      alias radius r
      alias radius= r=

      def center
        point_class.new(x, y)
      end

      def center=(value)
        parts = value.is_a?(point_class) ? [value.x, value.y] : value[0..1]
        self.x = parts.first
        self.y = parts.last
      end

      private

        def point_class
          Torque::PostgreSQL.config.geometry.point_class
        end
    end

    config.geometry.circle_class ||= ::ActiveRecord.const_set('Circle', Class.new(Circle))

    module Adapter
      module OID
        class Circle < Torque::PostgreSQL::GeometryBuilder

          PIECES = %i[x y r].freeze
          FORMATION = '<(%s,%s),%s>'.freeze

        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
torque-postgresql-1.1.8 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.7 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-2.0.3 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-2.0.2 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.6 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.5 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-2.0.1 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-2.0.0 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.4 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.3 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.2 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.1 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.1.0 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.0.1 lib/torque/postgresql/adapter/oid/circle.rb
torque-postgresql-1.0.0 lib/torque/postgresql/adapter/oid/circle.rb