Class: Couchbase::SearchSort::SearchSortGeoDistance

Inherits:
Couchbase::SearchSort show all
Defined in:
lib/couchbase/search_options.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Couchbase::SearchSort

field, geo_distance, id, score

Constructor Details

#initialize(field, longitude, latitude) {|| ... } ⇒ SearchSortGeoDistance

Returns a new instance of SearchSortGeoDistance.

Parameters:

  • field (String)

    field name

  • longitude (Float)
  • latitude (Float)

Yield Parameters:



1242
1243
1244
1245
1246
1247
1248
# File 'lib/couchbase/search_options.rb', line 1242

def initialize(field, longitude, latitude)
  super()
  @field = field
  @longitude = longitude
  @latitude = latitude
  yield self if block_given?
end

Instance Attribute Details

#descBoolean

Returns if descending order should be applied.

Returns:

  • (Boolean)

    if descending order should be applied



1227
1228
1229
# File 'lib/couchbase/search_options.rb', line 1227

def desc
  @desc
end

#fieldString (readonly)

Returns name of the field to sort by.

Returns:

  • (String)

    name of the field to sort by



1224
1225
1226
# File 'lib/couchbase/search_options.rb', line 1224

def field
  @field
end

#latitudeFloat (readonly)

Returns:

  • (Float)


1233
1234
1235
# File 'lib/couchbase/search_options.rb', line 1233

def latitude
  @latitude
end

#longitudeFloat (readonly)

Returns:

  • (Float)


1230
1231
1232
# File 'lib/couchbase/search_options.rb', line 1230

def longitude
  @longitude
end

#unit:meters, ...

Returns:

  • (:meters, :miles, :centimeters, :millimeters, :kilometers, :nauticalmiles, :feet, :yards, :inch)


1236
1237
1238
# File 'lib/couchbase/search_options.rb', line 1236

def unit
  @unit
end

Instance Method Details

#to_json(*args) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



1251
1252
1253
# File 'lib/couchbase/search_options.rb', line 1251

def to_json(*args)
  {by: :geo_distance, field: field, desc: desc, location: [longitude, latitude], unit: unit}.to_json(*args)
end