Sha256: 3d3a2f9186596e9389914c2a859ed7187e6f4a93b5bc8bf67e33513707974060

Contents?: true

Size: 1.22 KB

Versions: 10

Compression:

Stored size: 1.22 KB

Contents

module MarkLogic
  module Queries
    class BaseQuery

      # Helper function to add a sub query into a parent query
      #
      # @param [ BaseQuery ] parent The parent query
      # @param [ BaseQuery ] query The sub-query to add
      #
      # @since 1.0.0
      def add_sub_query(parent, query)
        query_json = query.to_json
        query_key = query_json.keys[0]
        parent[query_key] = query_json[query_key]
      end

      # Returns the value of the query appropriately formatted
      #
      # @param [ Any ] original_value The value to format
      # @param [ String ] type The data type
      #
      # @since 1.0.0
      def query_value(original_value, type = nil)
        if original_value.kind_of?(Array)
          value = original_value.map { |v| query_value(v) }.join(',')
        elsif original_value.kind_of?(TrueClass)
          value = 'fn:true()'
        elsif original_value.kind_of?(FalseClass)
          value = 'fn:false()'
        elsif original_value.kind_of?(ObjectId)
          value = %Q{"#{original_value.to_s}"}
        elsif original_value.kind_of?(String) || type == "string"
          value = %Q{"#{original_value}"}
        else
          value = original_value
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
marklogic-0.0.11 lib/marklogic/queries/base_query.rb
marklogic-0.0.10 lib/marklogic/queries/base_query.rb
marklogic-0.0.9 lib/marklogic/queries/base_query.rb
marklogic-0.0.8 lib/marklogic/queries/base_query.rb
marklogic-0.0.7 lib/marklogic/queries/base_query.rb
marklogic-0.0.6 lib/marklogic/queries/base_query.rb
marklogic-0.0.5 lib/marklogic/queries/base_query.rb
marklogic-0.0.4 lib/marklogic/queries/base_query.rb
marklogic-0.0.3 lib/marklogic/queries/base_query.rb
marklogic-0.0.1 lib/marklogic/queries/base_query.rb