28 lines
574 B
Ruby
28 lines
574 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class Form::Migration
|
||
|
include ActiveModel::Validations
|
||
|
|
||
|
attr_accessor :acct, :account
|
||
|
|
||
|
validates :acct, presence: true
|
||
|
|
||
|
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 = ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?
|
||
|
end
|
||
|
end
|