Sha256: f50cee9b45baa012b93db3d38a14c61757809fc30c2f677bc15ca06b98241a8e

Contents?: true

Size: 722 Bytes

Versions: 19

Compression:

Stored size: 722 Bytes

Contents

module Ddr::Index
  class Query

    attr_reader :q, :fields, :filters, :sort, :rows

    delegate :count, :docs, :pids, :each_pid, :all, to: :result

    def inspect
      "#<#{self.class.name} q=#{q.inspect}, filters=#{filters.inspect}," \
      " sort=#{sort.inspect}, rows=#{rows.inspect}, fields=#{fields.inspect}>"
    end

    def to_s
      URI.encode_www_form(params)
    end

    def params
      { q:    q,
        fq:   filters.map(&:clauses).flatten,
        fl:   fields.join(","),
        sort: sort.join(","),
        rows: rows,
      }.select { |k, v| v.present? }
    end

    def result
      QueryResult.new(self)
    end

    def csv(**opts)
      CSVQueryResult.new(self, **opts)
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ddr-models-3.0.0.beta.3 lib/ddr/index/query.rb
ddr-models-3.0.0.beta.2 lib/ddr/index/query.rb
ddr-models-2.4.0.rc2 lib/ddr/index/query.rb
ddr-models-2.4.0.rc1 lib/ddr/index/query.rb
ddr-models-2.3.2 lib/ddr/index/query.rb
ddr-models-3.0.0.beta.1 lib/ddr/index/query.rb
ddr-models-2.3.1 lib/ddr/index/query.rb
ddr-models-3.0.0.alpha.4 lib/ddr/index/query.rb
ddr-models-3.0.0.alpha.3 lib/ddr/index/query.rb
ddr-models-2.3.0 lib/ddr/index/query.rb
ddr-models-3.0.0.alpha.2 lib/ddr/index/query.rb
ddr-models-3.0.0.alpha.1 lib/ddr/index/query.rb
ddr-models-2.2.0 lib/ddr/index/query.rb
ddr-models-2.1.3 lib/ddr/index/query.rb
ddr-models-2.1.2 lib/ddr/index/query.rb
ddr-models-2.1.1 lib/ddr/index/query.rb
ddr-models-2.1.0 lib/ddr/index/query.rb
ddr-models-2.1.0.rc2 lib/ddr/index/query.rb
ddr-models-2.1.0.rc1 lib/ddr/index/query.rb