Sha256: 1ae1c323db5980bb57d686474c611ba5e742d184a36be9b748742e8aa7d5fd3e

Contents?: true

Size: 769 Bytes

Versions: 6

Compression:

Stored size: 769 Bytes

Contents

# frozen_string_literal: true

module Dolly
  module QueryArguments
    def last_item_in_range
      "\ufff0"
    end

    def default_query_args
      {
        startkey: "#{name_paramitized}/",
        endkey: "#{name_paramitized}/#{last_item_in_range}"
      }
    end

    def descending_query_args
      {
        startkey: default_query_args[:endkey],
        endkey: default_query_args[:startkey],
        descending: true
      }
    end

    def escape_value(value)
      return value                if value.is_a? Numeric
      return escape_values(value) if value.is_a? Array
      return CGI.escape(value)    if value.is_a? String
      value
    end

    def escape_values *values
      values.flatten.map { |value| escape_value(value) }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dolly-3.1.5 lib/dolly/query_arguments.rb
dolly-3.1.4 lib/dolly/query_arguments.rb
dolly-3.1.3 lib/dolly/query_arguments.rb
dolly-3.1.2 lib/dolly/query_arguments.rb
dolly-3.1.1 lib/dolly/query_arguments.rb
dolly-3.1.0 lib/dolly/query_arguments.rb