Sha256: 2206a1ad189a1f5d1fef46e0dd2c471572b67648aae962e237ea32af5c7157c5

Contents?: true

Size: 774 Bytes

Versions: 5

Compression:

Stored size: 774 Bytes

Contents

class Zendesk2::Client::DestroyMembership < Zendesk2::Client::Request
  request_method :delete
  request_path { |r| "/organization_memberships/#{r.membership_id}.json" }

  def membership_id
    params.fetch("membership").fetch("id").to_i
  end

  def mock
    membership = delete!(:memberships, membership_id)

    primary_organization = self.data[:memberships].values.find { |m| m["user_id"] == membership["user_id"] && m["default"] } ||
      self.data[:memberships].values.find { |m| m["user_id"] == membership["user_id"] }

    if primary_organization
      primary_organization.merge!("default" => true)
      self.find!(:users, membership["user_id"].to_i).merge!("organization_id" => primary_organization["organization_id"])
    end

    mock_response(nil)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
zendesk2-1.7.5 lib/zendesk2/client/requests/destroy_membership.rb
zendesk2-1.7.4 lib/zendesk2/client/requests/destroy_membership.rb
zendesk2-1.7.2 lib/zendesk2/client/requests/destroy_membership.rb
zendesk2-1.7.1 lib/zendesk2/client/requests/destroy_membership.rb
zendesk2-1.7.0 lib/zendesk2/client/requests/destroy_membership.rb