def statement_url
return nil if self.account_code.blank?
return @statement_url unless @statement_url.nil?
return @statement_url = SelectFeeds::Statement.new.fetch(self.account_code)
end
Kod może nie jest patologiczny ani specjalnie brzydki ale niepotrzebnie rozwlekły, to samo można zapisać krócej:
def statement_url
return nil if self.account_code.blank?
@statement_url ||= SelectFeeds::Statement.new.fetch(self.account_code)
end
Jest tez ActiveSupport::Memoizable,
||= ma tez pewne ograniczenia patrz http://apidock.com/rails/ActiveSupport/memoize#447-Differences-between-normal-or-assign-operator