Sha256: 06c705721d2f72111ee3d5d0f14dac540eb6d945f2fd5236ada9ce54a4ebdac1

Contents?: true

Size: 625 Bytes

Versions: 23

Compression:

Stored size: 625 Bytes

Contents

module Zendesk2::Searchable
  def self.included(klass)
    klass.send(:extend, Zendesk2::Searchable::Attributes)
  end

  def search(parameters)
    body = connection.send(self.class.search_request, parameters.merge("type" => self.class.search_type)).body
    if data = body.delete("results")
      collection = self.clone.load(data)
      collection.merge_attributes(Cistern::Hash.slice(body, "count", "next_page", "previous_page"))
      collection
    end
  end

  module Attributes
    attr_accessor :search_type
    attr_writer :search_request

    def search_request
      @search_request ||= :search
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
zendesk2-1.0.0 lib/zendesk2/searchable.rb
zendesk2-0.5.4 lib/zendesk2/searchable.rb
zendesk2-0.5.3 lib/zendesk2/searchable.rb
zendesk2-0.5.2 lib/zendesk2/searchable.rb
zendesk2-0.5.1 lib/zendesk2/searchable.rb
zendesk2-0.5.0 lib/zendesk2/searchable.rb
zendesk2-0.4.5 lib/zendesk2/searchable.rb
zendesk2-0.4.4 lib/zendesk2/searchable.rb
zendesk2-0.4.3 lib/zendesk2/searchable.rb
zendesk2-0.4.2 lib/zendesk2/searchable.rb
zendesk2-0.4.1 lib/zendesk2/searchable.rb
zendesk2-0.4.0 lib/zendesk2/searchable.rb
zendesk2-0.3.2 lib/zendesk2/searchable.rb
zendesk2-0.3.1 lib/zendesk2/searchable.rb
zendesk2-0.3.0 lib/zendesk2/searchable.rb
zendesk2-0.2.7 lib/zendesk2/searchable.rb
zendesk2-0.2.6 lib/zendesk2/searchable.rb
zendesk2-0.2.5 lib/zendesk2/searchable.rb
zendesk2-0.2.4 lib/zendesk2/searchable.rb
zendesk2-0.2.3 lib/zendesk2/searchable.rb