Class: Zendesk2::MarkMembershipDefault

Inherits:
Object
  • Object
show all
Includes:
Request
Defined in:
lib/zendesk2/mark_membership_default.rb

Instance Attribute Summary

Attributes included from Request

#params

Instance Method Summary collapse

Methods included from Request

#call, cistern_included, #data, #delete!, #error!, #find!, #html_url_for, included, #mock_response, #page, #page_params!, #page_params?, #pluralize, #real, #real_request, #request_body, #request_params, #request_path, #resources, #response, #timestamp, #url_for

Instance Method Details

#identityObject



8
9
10
# File 'lib/zendesk2/mark_membership_default.rb', line 8

def identity
  params.fetch('membership').fetch('id')
end

#mockObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/zendesk2/mark_membership_default.rb', line 16

def mock
  if (membership = find!(:memberships, identity)) && (membership['user_id'] == user_id)
    # only one user can be default
    other_user_memberships = data[:memberships].values.select { |m| m['user_id'] == user_id }
    other_user_memberships.each { |i| i['default'] = false }
    membership['default'] = true

    mock_response(params)
  else
    error!(:not_found)
  end
end

#user_idObject



12
13
14
# File 'lib/zendesk2/mark_membership_default.rb', line 12

def user_id
  params.fetch('membership').fetch('user_id').to_i
end