class Zendesk2::CreateUserIdentity
Public Class Methods
accepted_attributes()
click to toggle source
# File lib/zendesk2/create_user_identity.rb, line 9 def self.accepted_attributes %w(primary verified type value user_id) end
Public Instance Methods
mock()
click to toggle source
# File lib/zendesk2/create_user_identity.rb, line 21 def mock identity = cistern.serial_id record = { 'id' => identity, 'url' => url_for("/user/#{user_id}/identities/#{identity}.json"), 'created_at' => timestamp, 'updated_at' => timestamp, 'verified' => false, 'primary' => false, 'user_id' => user_id, }.merge(user_identity_params) record.merge('primary' => true) if cistern.data[:identities].values.find { |ui| ui['user_id'] == user_id }.nil? if cistern.data[:identities].values.find { |i| i['value'] == record['value'] } error!(:invalid, details: { 'value' => [{ 'description' => "Value: #{record['value']} is already being used by another user" }], }) end cistern.data[:identities][identity] = record mock_response('identity' => record) end
user_id()
click to toggle source
# File lib/zendesk2/create_user_identity.rb, line 17 def user_id params.fetch('user_identity').fetch('user_id').to_i end
user_identity_params()
click to toggle source
# File lib/zendesk2/create_user_identity.rb, line 13 def user_identity_params Cistern::Hash.slice(params.fetch('user_identity'), *self.class.accepted_attributes) end