forked from asonix/mastodon
The service used to be named ResolveRemoteAccountService resolves local accounts as well.
25 lines
535 B
Ruby
25 lines
535 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Form::Migration
|
|
include ActiveModel::Validations
|
|
|
|
attr_accessor :acct, :account
|
|
|
|
def initialize(attrs = {})
|
|
@account = attrs[:account]
|
|
@acct = attrs[:account].acct unless @account.nil?
|
|
@acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil?
|
|
end
|
|
|
|
def valid?
|
|
return false unless super
|
|
set_account
|
|
errors.empty?
|
|
end
|
|
|
|
private
|
|
|
|
def set_account
|
|
self.account = (ResolveAccountService.new.call(acct) if account.nil? && acct.present?)
|
|
end
|
|
end
|