Sha256: 5618a57b8f72ad271bc64bf9f686d4cc26eba9dce0f0e427e6f8cf46cb6adc44

Contents?: true

Size: 687 Bytes

Versions: 1

Compression:

Stored size: 687 Bytes

Contents

class Zendesk2::Client
  class Real
    def search(query, params={})
      request(
        :method => :get,
        :params => {query: query}.merge(params),
        :path   => "/search.json",
      )
    end
  end # Real

  class Mock
    def search(query, params={})
      terms = Hash[query.split(" ").map { |t| t.split(":") }]
      type = terms.delete("type")
      collection = type.nil? ? self.data.values : self.data[pluralize(type).to_sym]

      results = collection.values.select { |v| terms.all?{ |term, condition| v[term.to_s].to_s == condition.to_s } }

      page(params, nil, "/search.json", "results", resources: results, query: {query: query})
    end
  end # Mock
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zendesk2-1.4.2 lib/zendesk2/client/requests/search.rb