class Castle::Commands::StartImpersonation

builder for impersonate command

Public Class Methods

build(options = {}) click to toggle source

@param options [Hash] @return [Castle::Command]

# File lib/castle/commands/start_impersonation.rb, line 10
def build(options = {})
  Castle::Validators::Present.call(options, %i[user_id])
  context = Castle::Context::Sanitize.call(options[:context])

  Castle::Validators::Present.call(context, %i[user_agent ip])

  Castle::Command.new(
    'impersonate',
    options.merge(context: context, sent_at: Castle::Utils::GetTimestamp.call),
    :post
  )
end