2017-11-27 23:47:06 +02:00
|
|
|
# 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
|
2017-11-28 15:31:23 +02:00
|
|
|
self.account = (ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?)
|
2017-11-27 23:47:06 +02:00
|
|
|
end
|
|
|
|
end
|