Browse Source

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.
develop
rubic0n 2 months ago
parent
commit
a623252c59
4 changed files with 8 additions and 8 deletions
  1. +1
    -1
      app/helpers/jsonld_helper.rb
  2. +4
    -4
      app/lib/tag_manager.rb
  3. +1
    -1
      config/initializers/open_uri_redirection.rb
  4. +2
    -2
      lib/gabsocial/migration_helpers.rb

+ 1
- 1
app/helpers/jsonld_helper.rb View File

@ -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)


+ 4
- 4
app/lib/tag_manager.rb View File

@ -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)


+ 1
- 1
config/initializers/open_uri_redirection.rb View File

@ -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

+ 2
- 2
lib/gabsocial/migration_helpers.rb View File

@ -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.


Loading…
Cancel
Save