Sha256: 9ad136ed29a6aa311d07f7ef4c979510c9e9773ac9045d9266ac7c4614c3e10e

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

class Ey::Core::Client
  class Real
    def get_contacts(params={})
      request(
        :params => params,
        :query  => Ey::Core.paging_parameters(params),
        :path   => "/contacts",
        :url    => params.delete("url"),
      )
    end
  end # Real

  class Mock
    def get_contacts(params={})
      extract_url_params!(params)

      resources = if database_service_url = params.delete("database_service")
                    database_service_id = resource_identity(database_service_url)
                    contact_ids = self.data[:contact_assignments].inject([]) { |r, (contact_id, resource_id)| (resource_id == database_service_id) ? r << contact_id : r }
                    self.data[:contacts].select { |id, _| contact_ids.include?(id) }
                  else
                    self.data[:contacts]
                  end

      headers, contacts_page = search_and_page(params, :contacts, search_keys: %w[name email], resources: resources)

      response(
        :body    => {"contacts" => contacts_page},
        :status  => 200,
        :headers => headers
      )
    end
  end # Mock
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ey-core-3.6.6 lib/ey-core/requests/get_contacts.rb
ey-core-3.4.5 lib/ey-core/requests/get_contacts.rb
ey-core-3.6.5 lib/ey-core/requests/get_contacts.rb