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.



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

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}’



266
267
268
# File 'lib/parse/datatypes.rb', line 266

def latitude
  @latitude
end

#longitudeObject

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



266
267
268
# File 'lib/parse/datatypes.rb', line 266

def longitude
  @longitude
end

Instance Method Details

#as_json(*a) ⇒ Object



290
291
292
293
294
295
296
# File 'lib/parse/datatypes.rb', line 290

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

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

Returns:

  • (Boolean)


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

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

#hashObject



286
287
288
# File 'lib/parse/datatypes.rb', line 286

def hash
  longitude.hash ^ latitude.hash
end

#to_json(*a) ⇒ Object



298
299
300
# File 'lib/parse/datatypes.rb', line 298

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

#to_sObject



302
303
304
# File 'lib/parse/datatypes.rb', line 302

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