Fix RemoteFollow behavior (#3868)

* Invalid acct is an error. not "2 errors".
* Empty input should be different error from invalid acct
This commit is contained in:
unarist 2017-06-21 03:40:56 +09:00 committed by Eugen Rochko
parent 356df7ae6b
commit a20cf3b64e

View file

@ -5,11 +5,15 @@ class RemoteFollow
attr_accessor :acct, :addressable_template attr_accessor :acct, :addressable_template
validates :acct, presence: true
def initialize(attrs = {}) def initialize(attrs = {})
@acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil? @acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil?
end end
def valid? def valid?
return false unless super
populate_template populate_template
errors.empty? errors.empty?
end end
@ -39,7 +43,6 @@ class RemoteFollow
def acct_resource def acct_resource
@_acct_resource ||= Goldfinger.finger("acct:#{acct}") @_acct_resource ||= Goldfinger.finger("acct:#{acct}")
rescue Goldfinger::Error rescue Goldfinger::Error
missing_resource_error
nil nil
end end