From a623252c5938e9ebd436bfeaa02549cb3ed101ee Mon Sep 17 00:00:00 2001 From: rubic0n Date: Wed, 17 Feb 2021 23:25:10 -0600 Subject: [PATCH] Convert to boolean in C code casecmp?(str) is 1.5x faster than casecmp(str).zero? It's 1 less method call in Ruby, and the C code can convert to boolean, rather than returning a number and determining if it's zero. --- app/helpers/jsonld_helper.rb | 2 +- app/lib/tag_manager.rb | 8 ++++---- config/initializers/open_uri_redirection.rb | 2 +- lib/gabsocial/migration_helpers.rb | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/helpers/jsonld_helper.rb b/app/helpers/jsonld_helper.rb index 331899af..60dc25dd 100644 --- a/app/helpers/jsonld_helper.rb +++ b/app/helpers/jsonld_helper.rb @@ -53,7 +53,7 @@ module JsonLdHelper needle = Addressable::URI.parse(url).host haystack = Addressable::URI.parse(@account.uri).host - !haystack.casecmp(needle).zero? + !haystack.casecmp?(needle) end def canonicalize(json) diff --git a/app/lib/tag_manager.rb b/app/lib/tag_manager.rb index aaee7ef5..c4655965 100644 --- a/app/lib/tag_manager.rb +++ b/app/lib/tag_manager.rb @@ -7,11 +7,11 @@ class TagManager include RoutingHelper def web_domain?(domain) - domain.nil? || domain.gsub(/[\/]/, '').casecmp(Rails.configuration.x.web_domain).zero? + domain.nil? || domain.gsub(/[\/]/, '').casecmp?(Rails.configuration.x.web_domain) end def local_domain?(domain) - domain.nil? || domain.gsub(/[\/]/, '').casecmp(Rails.configuration.x.local_domain).zero? + domain.nil? || domain.gsub(/[\/]/, '').casecmp?(Rails.configuration.x.local_domain) end def normalize_domain(domain) @@ -35,9 +35,9 @@ class TagManager end def same_acct?(canonical, needle) - return true if canonical.casecmp(needle).zero? + return true if canonical.casecmp?(needle) username, domain = needle.split('@') - local_domain?(domain) && canonical.casecmp(username).zero? + local_domain?(domain) && canonical.casecmp?(username) end def local_url?(url) diff --git a/config/initializers/open_uri_redirection.rb b/config/initializers/open_uri_redirection.rb index e9de85bd..6be84105 100644 --- a/config/initializers/open_uri_redirection.rb +++ b/config/initializers/open_uri_redirection.rb @@ -2,7 +2,7 @@ require 'open-uri' module OpenURI def self.redirectable?(uri1, uri2) # :nodoc: - uri1.scheme.casecmp(uri2.scheme).zero? || + uri1.scheme.casecmp?(uri2.scheme) || (/\A(?:http|https|ftp)\z/i =~ uri1.scheme && /\A(?:http|https|ftp)\z/i =~ uri2.scheme) end end diff --git a/lib/gabsocial/migration_helpers.rb b/lib/gabsocial/migration_helpers.rb index 4737cfc9..f8fc80b0 100644 --- a/lib/gabsocial/migration_helpers.rb +++ b/lib/gabsocial/migration_helpers.rb @@ -44,13 +44,13 @@ module GabSocial # Stub for Database.postgresql? from GitLab def self.postgresql? %w[postgresql postgresql_makara].any? do |adapter| - ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp(adapter).zero? + ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp?(adapter) end end # Stub for Database.mysql? from GitLab def self.mysql? - ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp('mysql2').zero? + ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp?('mysql2') end # Model that can be used for querying permissions of a SQL user.