class Zendesk2::CreateMembership
Public Class Methods
accepted_params()
click to toggle source
# File lib/zendesk2/create_membership.rb, line 9 def self.accepted_params %w(user_id organization_id default) end
Public Instance Methods
membership_params()
click to toggle source
# File lib/zendesk2/create_membership.rb, line 13 def membership_params @_membership_params ||= Cistern::Hash.slice(params.fetch('membership'), *self.class.accepted_params) end
mock()
click to toggle source
# File lib/zendesk2/create_membership.rb, line 25 def mock user = find!(:users, user_id) find!(:organizations, organization_id, error: :invalid, details: { 'organization' => [{ 'description' => 'Organization cannot be blank' }], }) if data[:memberships].values.find { |m| m['user_id'] == user_id && m['organization_id'] == organization_id } error!(:invalid, description: { 'user_id' => [{ 'description' => 'User has already been taken' }] }) end resource_id = cistern.serial_id default_membership = !data[:memberships].values.find { |m| m['user_id'] == user_id && m['default'] } resource = { 'id' => resource_id, 'user_id' => user_id, 'organization_id' => organization_id, 'default' => default_membership, } data[:memberships][resource_id] = resource primary_organization = data[:memberships].values.find { |m| m['user_id'] == user_id && m['default'] } if primary_organization user['organization_id'] = primary_organization['organization_id'] end mock_response('organization_membership' => resource) end
organization_id()
click to toggle source
# File lib/zendesk2/create_membership.rb, line 21 def organization_id params.fetch('membership').fetch('organization_id').to_i end
user_id()
click to toggle source
# File lib/zendesk2/create_membership.rb, line 17 def user_id params.fetch('membership').fetch('user_id').to_i end