Sha256: c387a53ec4a8bcf31249caef66121b55be0abd715e49c42fc6f46cc01ffa1c73

Contents?: true

Size: 625 Bytes

Versions: 6

Compression:

Stored size: 625 Bytes

Contents

# frozen_string_literal: true
class Zendesk2::GetUser
  include Zendesk2::Request

  request_method :get
  request_path { |r| "/users/#{r.user_id}.json" }

  def user_id
    params.fetch('user').fetch('id').to_i
  end

  def mock
    identities = data[:identities].values.select { |i| i['user_id'] == user_id }
    body = find!(:users, user_id).dup
    identity = identities.find { |i| i['type'] == 'email' && i['primary'] } ||
               identities.find { |i| i['type'] == 'email' }
    body['email'] = identity['value'] if identity

    # @todo what happens if no identity?

    mock_response('user' => body)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zendesk2-1.15.0 lib/zendesk2/get_user.rb
zendesk2-1.13.1 lib/zendesk2/get_user.rb
zendesk2-1.13.0 lib/zendesk2/get_user.rb
zendesk2-1.12.0 lib/zendesk2/get_user.rb
zendesk2-1.11.0 lib/zendesk2/get_user.rb
zendesk2-1.10.0 lib/zendesk2/get_user.rb