Class: Parse::GeoPoint

Inherits:
Object
  • Object
show all
Defined in:
lib/parse/datatypes.rb

Overview

GeoPoint


Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ GeoPoint

Returns a new instance of GeoPoint.



246
247
248
249
250
251
252
253
254
# File 'lib/parse/datatypes.rb', line 246

def initialize(data)
  @longitude = data["longitude"]
  @latitude  = data["latitude"]

  if !@longitude && !@latitude
    @longitude = data[:longitude]
    @latitude  = data[:latitude]
  end
end

Instance Attribute Details

#latitudeObject

‘{“__type”:“GeoPoint”, “latitude”:40.0, “longitude”:-30.0}’



244
245
246
# File 'lib/parse/datatypes.rb', line 244

def latitude
  @latitude
end

#longitudeObject

‘{“__type”:“GeoPoint”, “latitude”:40.0, “longitude”:-30.0}’



244
245
246
# File 'lib/parse/datatypes.rb', line 244

def longitude
  @longitude
end

Instance Method Details

#as_json(*a) ⇒ Object



268
269
270
271
272
273
274
# File 'lib/parse/datatypes.rb', line 268

def as_json(*a)
  {
      Protocol::KEY_TYPE => Protocol::TYPE_GEOPOINT,
      "latitude" => @latitude,
      "longitude" => @longitude
  }
end

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


256
257
258
259
260
# File 'lib/parse/datatypes.rb', line 256

def eql?(other)
  self.class.equal?(other.class) &&
    longitude == other.longitude &&
    latitude == other.latitude
end

#hashObject



264
265
266
# File 'lib/parse/datatypes.rb', line 264

def hash
  longitude.hash ^ latitude.hash
end

#to_json(*a) ⇒ Object



276
277
278
# File 'lib/parse/datatypes.rb', line 276

def to_json(*a)
    as_json.to_json(*a)
end

#to_sObject



280
281
282
# File 'lib/parse/datatypes.rb', line 280

def to_s
  "(#{latitude}, #{longitude})"
end