Sha256: ade07f88aa6c03dcbd3ab96a4875b9190165e301e821a667838963a5aea6144a
Contents?: true
Size: 1.52 KB
Versions: 8
Compression:
Stored size: 1.52 KB
Contents
# encoding: utf-8 # Copyright 2015 Aerospike, Inc. # # Portions may be licensed to Aerospike, Inc. under one or more contributor # license agreements. # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at http:#www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. require "json" module Aerospike ## # Wrapper for GeoJSON data. # GeoJSON data needs to be wrapped to allow the client to distinguish # geospatial data from string (or hash) data. Geospatial data from a record's # bin will be returned as an instance of this class. # The wrapper accepts GeoJSON data either as a String or a Hash. class GeoJSON def initialize(data) self.json_data = case data when String data else data.to_json end end def to_json json_data end alias_method :to_s, :to_json def to_hash JSON.parse(json_data) end alias_method :to_h, :to_hash def ==(other) return false unless other.class == self.class other.to_json == self.to_json end protected attr_accessor :json_data end # class end # module
Version data entries
8 entries across 8 versions & 1 rubygems