Sha256: f2c55861aced096aefc28e1095f9b73b6fd0777f03a9aac22b3bc55d5707abf0

Contents?: true

Size: 716 Bytes

Versions: 5

Compression:

Stored size: 716 Bytes

Contents

module ClusterPoint
  module JsonMethods
    def as_json(options = nil)
      result = '{'
      coma=''
      self.marshal_dump.each do |k,v| 
        if v.class == Array
          result += "#{coma}\"#{k}\":["
          coma_inner=''
          v.each do |ae|
            result += coma_inner
            result += ae.as_json(options)
            coma_inner=','
          end
          result += "]"
        elsif v != nil
          if v.kind_of? ClusterPoint::Document
            out = v.as_json
          else
            out='"' + v.gsub('"', '\"') + '"'
          end
          result += coma + '"' + k.to_s + '":' + out
        end
        coma=','
      end
      result += '}'
      result
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
clusterpoint-0.2.4 lib/cluster_point/json_methods.rb
clusterpoint-0.2.3 lib/cluster_point/json_methods.rb
clusterpoint-0.2.2 lib/cluster_point/json_methods.rb
clusterpoint-0.2.1 lib/cluster_point/json_methods.rb
clusterpoint-0.2.0 lib/cluster_point/json_methods.rb