Bump rubocop from 0.86.0 to 0.88.0 (#14412)
* Bump rubocop from 0.86.0 to 0.88.0 Bumps [rubocop](https://github.com/rubocop-hq/rubocop) from 0.86.0 to 0.88.0. - [Release notes](https://github.com/rubocop-hq/rubocop/releases) - [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.86.0...v0.88.0) Signed-off-by: dependabot[bot] <support@github.com> * Fix for latest RuboCop Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
This commit is contained in:
		
							parent
							
								
									10f180417e
								
							
						
					
					
						commit
						8972e5f7f6
					
				| 
						 | 
				
			
			@ -30,7 +30,7 @@ plugins:
 | 
			
		|||
    channel: eslint-7
 | 
			
		||||
  rubocop:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    channel: rubocop-0-82
 | 
			
		||||
    channel: rubocop-0-88
 | 
			
		||||
  sass-lint:
 | 
			
		||||
    enabled: true
 | 
			
		||||
exclude_patterns:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										185
									
								
								.rubocop.yml
								
								
								
								
							
							
						
						
									
										185
									
								
								.rubocop.yml
								
								
								
								
							| 
						 | 
				
			
			@ -25,30 +25,68 @@ Layout/AccessModifierIndentation:
 | 
			
		|||
Layout/EmptyLineAfterMagicComment:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Layout/EmptyLineAfterGuardClause:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Layout/EmptyLinesAroundAttributeAccessor:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Layout/HashAlignment:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
  # EnforcedHashRocketStyle: table
 | 
			
		||||
  # EnforcedColonStyle: table
 | 
			
		||||
 | 
			
		||||
Layout/SpaceAroundMethodCallOperator:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Layout/SpaceInsideHashLiteralBraces:
 | 
			
		||||
  EnforcedStyle: space
 | 
			
		||||
 | 
			
		||||
Lint/DeprecatedOpenSSLConstant:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Lint/DuplicateElsifCondition:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Lint/MixedRegexpCaptureTypes:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Lint/RaiseException:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Lint/StructNewOverride:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Lint/UselessAccessModifier:
 | 
			
		||||
  ContextCreatingMethods:
 | 
			
		||||
    - class_methods
 | 
			
		||||
 | 
			
		||||
Metrics/AbcSize:
 | 
			
		||||
  Max: 100
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Metrics/BlockLength:
 | 
			
		||||
  Max: 35
 | 
			
		||||
  Max: 55
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/tasks/**/*'
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Metrics/BlockNesting:
 | 
			
		||||
  Max: 3
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Metrics/ClassLength:
 | 
			
		||||
  CountComments: false
 | 
			
		||||
  Max: 300
 | 
			
		||||
  Max: 400
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Metrics/CyclomaticComplexity:
 | 
			
		||||
  Max: 25
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Layout/LineLength:
 | 
			
		||||
  AllowURI: true
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +94,9 @@ Layout/LineLength:
 | 
			
		|||
 | 
			
		||||
Metrics/MethodLength:
 | 
			
		||||
  CountComments: false
 | 
			
		||||
  Max: 55
 | 
			
		||||
  Max: 65
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*_cli.rb'
 | 
			
		||||
 | 
			
		||||
Metrics/ModuleLength:
 | 
			
		||||
  CountComments: false
 | 
			
		||||
| 
						 | 
				
			
			@ -67,34 +107,90 @@ Metrics/ParameterLists:
 | 
			
		|||
  CountKeywordArgs: true
 | 
			
		||||
 | 
			
		||||
Metrics/PerceivedComplexity:
 | 
			
		||||
  Max: 20
 | 
			
		||||
  Max: 25
 | 
			
		||||
 | 
			
		||||
Naming/MemoizedInstanceVariableName:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Naming/MethodParameterName:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Rails:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Rails/ApplicationController:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'app/controllers/well_known/**/*.rb'
 | 
			
		||||
 | 
			
		||||
Rails/BelongsTo:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/ContentTag:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/EnumHash:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HasAndBelongsToMany:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/SkipsModelValidations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HttpStatus:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/Exit:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/*'
 | 
			
		||||
    - 'lib/cli.rb'
 | 
			
		||||
 | 
			
		||||
Rails/FilePath:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HasAndBelongsToMany:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HasManyOrHasOneDependent:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HelperInstanceVariable:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/HttpStatus:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/IndexBy:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/InverseOf:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/LexicallyScopedActionFilter:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/OutputSafety:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Rails/RakeEnvironment:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/RedundantForeignKey:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/SkipsModelValidations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/UniqueValidationWithoutIndex:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/AccessorGrouping:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/AccessModifierDeclarations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/ArrayCoercion:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/BisectedAttrAccessor:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/CaseLikeIf:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/ClassAndModuleChildren:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +205,15 @@ Style/Documentation:
 | 
			
		|||
Style/DoubleNegation:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/ExpandPathArguments:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/ExponentialNotation:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/FormatString:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/FormatStringToken:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -118,9 +223,33 @@ Style/FrozenStringLiteralComment:
 | 
			
		|||
Style/GuardClause:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/HashAsLastArrayItem:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/HashEachMethods:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/HashLikeCase:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/HashTransformKeys:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/HashTransformValues:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/IfUnlessModifier:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/InverseMethods:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/Lambda:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/MutableConstant:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/PercentLiteralDelimiters:
 | 
			
		||||
  PreferredDelimiters:
 | 
			
		||||
    '%i': '()'
 | 
			
		||||
| 
						 | 
				
			
			@ -129,9 +258,36 @@ Style/PercentLiteralDelimiters:
 | 
			
		|||
Style/PerlBackrefs:
 | 
			
		||||
  AutoCorrect: false
 | 
			
		||||
 | 
			
		||||
Style/RedundantAssignment:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RedundantFetchBlock:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/RedundantFileExtensionInRequire:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/RedundantRegexpCharacterClass:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RedundantRegexpEscape:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RedundantReturn:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/RegexpLiteral:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RescueStandardError:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/SignalException:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/SlicingWithRange:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 | 
			
		||||
Style/SymbolArray:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -140,3 +296,6 @@ Style/TrailingCommaInArrayLiteral:
 | 
			
		|||
 | 
			
		||||
Style/TrailingCommaInHashLiteral:
 | 
			
		||||
  EnforcedStyleForMultiline: 'comma'
 | 
			
		||||
 | 
			
		||||
Style/UnpackFirst:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										2
									
								
								Gemfile
								
								
								
								
							| 
						 | 
				
			
			@ -140,7 +140,7 @@ group :development do
 | 
			
		|||
  gem 'letter_opener', '~> 1.7'
 | 
			
		||||
  gem 'letter_opener_web', '~> 1.4'
 | 
			
		||||
  gem 'memory_profiler'
 | 
			
		||||
  gem 'rubocop', '~> 0.86', require: false
 | 
			
		||||
  gem 'rubocop', '~> 0.88', require: false
 | 
			
		||||
  gem 'rubocop-rails', '~> 2.6', require: false
 | 
			
		||||
  gem 'brakeman', '~> 4.9', require: false
 | 
			
		||||
  gem 'bundler-audit', '~> 0.7', require: false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -535,13 +535,13 @@ GEM
 | 
			
		|||
    rspec-support (3.9.3)
 | 
			
		||||
    rspec_junit_formatter (0.4.1)
 | 
			
		||||
      rspec-core (>= 2, < 4, != 2.12.0)
 | 
			
		||||
    rubocop (0.86.0)
 | 
			
		||||
    rubocop (0.88.0)
 | 
			
		||||
      parallel (~> 1.10)
 | 
			
		||||
      parser (>= 2.7.0.1)
 | 
			
		||||
      parser (>= 2.7.1.1)
 | 
			
		||||
      rainbow (>= 2.2.2, < 4.0)
 | 
			
		||||
      regexp_parser (>= 1.7)
 | 
			
		||||
      rexml
 | 
			
		||||
      rubocop-ast (>= 0.0.3, < 1.0)
 | 
			
		||||
      rubocop-ast (>= 0.1.0, < 1.0)
 | 
			
		||||
      ruby-progressbar (~> 1.7)
 | 
			
		||||
      unicode-display_width (>= 1.4.0, < 2.0)
 | 
			
		||||
    rubocop-ast (0.3.0)
 | 
			
		||||
| 
						 | 
				
			
			@ -778,7 +778,7 @@ DEPENDENCIES
 | 
			
		|||
  rspec-rails (~> 4.0)
 | 
			
		||||
  rspec-sidekiq (~> 3.1)
 | 
			
		||||
  rspec_junit_formatter (~> 0.4)
 | 
			
		||||
  rubocop (~> 0.86)
 | 
			
		||||
  rubocop (~> 0.88)
 | 
			
		||||
  rubocop-rails (~> 2.6)
 | 
			
		||||
  ruby-progressbar (~> 1.10)
 | 
			
		||||
  sanitize (~> 5.2)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -71,6 +71,7 @@ class Api::BaseController < ApplicationController
 | 
			
		|||
 | 
			
		||||
  def limit_param(default_limit)
 | 
			
		||||
    return default_limit unless params[:limit]
 | 
			
		||||
 | 
			
		||||
    [params[:limit].to_i.abs, default_limit * 2].min
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,6 @@ module ChallengableConcern
 | 
			
		|||
    if params.key?(:form_challenge)
 | 
			
		||||
      if challenge_passed?
 | 
			
		||||
        session[:challenge_passed_at] = Time.now.utc
 | 
			
		||||
        return
 | 
			
		||||
      else
 | 
			
		||||
        flash.now[:alert] = I18n.t('challenge.invalid_password')
 | 
			
		||||
        render_challenge
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -131,7 +131,7 @@ module SignatureVerification
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def verify_signature(account, signature, compare_signed_string)
 | 
			
		||||
    if account.keypair.public_key.verify(OpenSSL::Digest::SHA256.new, signature, compare_signed_string)
 | 
			
		||||
    if account.keypair.public_key.verify(OpenSSL::Digest.new('SHA256'), signature, compare_signed_string)
 | 
			
		||||
      @signed_request_account = account
 | 
			
		||||
      @signed_request_account
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,6 +162,8 @@ module ApplicationHelper
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    json = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(state_params), serializer: InitialStateSerializer).to_json
 | 
			
		||||
    # rubocop:disable Rails/OutputSafety
 | 
			
		||||
    content_tag(:script, json_escape(json).html_safe, id: 'initial-state', type: 'application/json')
 | 
			
		||||
    # rubocop:enable Rails/OutputSafety
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ class ActivityPub::LinkedDataSignature
 | 
			
		|||
    document_hash  = hash(@json.without('signature'))
 | 
			
		||||
    to_be_verified = options_hash + document_hash
 | 
			
		||||
 | 
			
		||||
    if creator.keypair.public_key.verify(OpenSSL::Digest::SHA256.new, Base64.decode64(signature), to_be_verified)
 | 
			
		||||
    if creator.keypair.public_key.verify(OpenSSL::Digest.new('SHA256'), Base64.decode64(signature), to_be_verified)
 | 
			
		||||
      creator
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ class ActivityPub::LinkedDataSignature
 | 
			
		|||
    to_be_signed  = options_hash + document_hash
 | 
			
		||||
    keypair       = sign_with.present? ? OpenSSL::PKey::RSA.new(sign_with) : creator.keypair
 | 
			
		||||
 | 
			
		||||
    signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest::SHA256.new, to_be_signed))
 | 
			
		||||
    signature = Base64.strict_encode64(keypair.sign(OpenSSL::Digest.new('SHA256'), to_be_signed))
 | 
			
		||||
 | 
			
		||||
    @json.merge('signature' => options.merge('signatureValue' => signature))
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ class EntityCache
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def emoji(shortcodes, domain)
 | 
			
		||||
    shortcodes   = [shortcodes] unless shortcodes.is_a?(Array)
 | 
			
		||||
    shortcodes   = Array(shortcodes)
 | 
			
		||||
    cached       = Rails.cache.read_multi(*shortcodes.map { |shortcode| to_key(:emoji, shortcode, domain) })
 | 
			
		||||
    uncached_ids = []
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,6 +135,7 @@ class Formatter
 | 
			
		|||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # rubocop:disable Metrics/BlockNesting
 | 
			
		||||
  def encode_custom_emojis(html, emojis, animate = false)
 | 
			
		||||
    return html if emojis.empty?
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -189,6 +190,7 @@ class Formatter
 | 
			
		|||
 | 
			
		||||
    html
 | 
			
		||||
  end
 | 
			
		||||
  # rubocop:enable Metrics/BlockNesting
 | 
			
		||||
 | 
			
		||||
  def rewrite(text, entities)
 | 
			
		||||
    text = text.to_s
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ class Request
 | 
			
		|||
 | 
			
		||||
  def signature
 | 
			
		||||
    algorithm = 'rsa-sha256'
 | 
			
		||||
    signature = Base64.strict_encode64(@keypair.sign(OpenSSL::Digest::SHA256.new, signed_string))
 | 
			
		||||
    signature = Base64.strict_encode64(@keypair.sign(OpenSSL::Digest.new('SHA256'), signed_string))
 | 
			
		||||
 | 
			
		||||
    "keyId=\"#{key_id}\",algorithm=\"#{algorithm}\",headers=\"#{signed_headers.keys.join(' ').downcase}\",signature=\"#{signature}\""
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,8 +17,10 @@ class SidekiqErrorHandler
 | 
			
		|||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  # rubocop:disable Naming/MethodParameterName
 | 
			
		||||
  def limit_backtrace_and_raise(e)
 | 
			
		||||
    e.set_backtrace(e.backtrace.first(BACKTRACE_LIMIT))
 | 
			
		||||
    raise e
 | 
			
		||||
  end
 | 
			
		||||
  # rubocop:enable Naming/MethodParameterName
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,6 +72,7 @@ class PreviewCard < ApplicationRecord
 | 
			
		|||
  class << self
 | 
			
		||||
    private
 | 
			
		||||
 | 
			
		||||
    # rubocop:disable Naming/MethodParameterName
 | 
			
		||||
    def image_styles(f)
 | 
			
		||||
      styles = {
 | 
			
		||||
        original: {
 | 
			
		||||
| 
						 | 
				
			
			@ -85,6 +86,7 @@ class PreviewCard < ApplicationRecord
 | 
			
		|||
      styles[:original][:format] = 'jpg' if f.instance.image_content_type == 'image/gif'
 | 
			
		||||
      styles
 | 
			
		||||
    end
 | 
			
		||||
    # rubocop:enable Naming/MethodParameterName
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -253,16 +253,16 @@ class User < ApplicationRecord
 | 
			
		|||
    @shows_application ||= settings.show_application
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # rubocop:disable Naming/MethodParameterName
 | 
			
		||||
  def token_for_app(a)
 | 
			
		||||
    return nil if a.nil? || a.owner != self
 | 
			
		||||
    Doorkeeper::AccessToken
 | 
			
		||||
      .find_or_create_by(application_id: a.id, resource_owner_id: id) do |t|
 | 
			
		||||
 | 
			
		||||
    Doorkeeper::AccessToken.find_or_create_by(application_id: a.id, resource_owner_id: id) do |t|
 | 
			
		||||
      t.scopes = a.scopes
 | 
			
		||||
      t.expires_in = Doorkeeper.configuration.access_token_expires_in
 | 
			
		||||
      t.use_refresh_token = Doorkeeper.configuration.refresh_token_enabled?
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
  # rubocop:enable Naming/MethodParameterName
 | 
			
		||||
 | 
			
		||||
  def activate_session(request)
 | 
			
		||||
    session_activations.activate(session_id: SecureRandom.hex,
 | 
			
		||||
| 
						 | 
				
			
			@ -413,7 +413,7 @@ class User < ApplicationRecord
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def notify_staff_about_pending_account!
 | 
			
		||||
    User.staff.includes(:account).each do |u|
 | 
			
		||||
    User.staff.includes(:account).find_each do |u|
 | 
			
		||||
      next unless u.allows_pending_account_emails?
 | 
			
		||||
      AdminMailer.new_pending_account(u.account, self).deliver_later
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,6 +78,7 @@ class FetchLinkCardService < BaseService
 | 
			
		|||
    uri.host.blank? || TagManager.instance.local_url?(uri.to_s) || !%w(http https).include?(uri.scheme)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # rubocop:disable Naming/MethodParameterName
 | 
			
		||||
  def mention_link?(a)
 | 
			
		||||
    @status.mentions.any? do |mention|
 | 
			
		||||
      a['href'] == ActivityPub::TagManager.instance.url_for(mention.account)
 | 
			
		||||
| 
						 | 
				
			
			@ -88,6 +89,7 @@ class FetchLinkCardService < BaseService
 | 
			
		|||
    # Avoid links for hashtags and mentions (microformats)
 | 
			
		||||
    a['rel']&.include?('tag') || a['class']&.match?(/u-url|h-card/) || mention_link?(a)
 | 
			
		||||
  end
 | 
			
		||||
  # rubocop:enable Naming/MethodParameterName
 | 
			
		||||
 | 
			
		||||
  def attempt_oembed
 | 
			
		||||
    service         = FetchOEmbedService.new
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,9 @@ class NotifyService < BaseService
 | 
			
		|||
    push_to_conversation! if direct_message?
 | 
			
		||||
    send_email! if email_enabled?
 | 
			
		||||
  rescue ActiveRecord::RecordInvalid
 | 
			
		||||
    # rubocop:disable Style/RedundantReturn
 | 
			
		||||
    return
 | 
			
		||||
    # rubocop:enable Style/RedundantReturn
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,8 +12,8 @@ class UpdateAccountService < BaseService
 | 
			
		|||
      check_links(account)
 | 
			
		||||
      process_hashtags(account)
 | 
			
		||||
    end
 | 
			
		||||
  rescue Mastodon::DimensionsValidationError, Mastodon::StreamValidationError => de
 | 
			
		||||
    account.errors.add(:avatar, de.message)
 | 
			
		||||
  rescue Mastodon::DimensionsValidationError, Mastodon::StreamValidationError => e
 | 
			
		||||
    account.errors.add(:avatar, e.message)
 | 
			
		||||
    false
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ end
 | 
			
		|||
setup_redis_env_url
 | 
			
		||||
setup_redis_env_url(:cache, false)
 | 
			
		||||
 | 
			
		||||
namespace       = ENV.fetch('REDIS_NAMESPACE') { nil }
 | 
			
		||||
namespace       = ENV.fetch('REDIS_NAMESPACE', nil)
 | 
			
		||||
cache_namespace = namespace ? namespace + '_cache' : 'cache'
 | 
			
		||||
 | 
			
		||||
REDIS_CACHE_PARAMS = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,16 +33,16 @@ module Mastodon
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    def repository
 | 
			
		||||
      ENV.fetch('GITHUB_REPOSITORY') { 'tootsuite/mastodon' }
 | 
			
		||||
      ENV.fetch('GITHUB_REPOSITORY', 'tootsuite/mastodon')
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def source_base_url
 | 
			
		||||
      ENV.fetch('SOURCE_BASE_URL') { "https://github.com/#{repository}" }
 | 
			
		||||
      ENV.fetch('SOURCE_BASE_URL', "https://github.com/#{repository}")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # specify git tag or commit hash here
 | 
			
		||||
    def source_tag
 | 
			
		||||
      ENV.fetch('SOURCE_TAG') { nil }
 | 
			
		||||
      ENV.fetch('SOURCE_TAG', nil)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def source_url
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ module Paperclip
 | 
			
		|||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # rubocop:disable Style/MethodParameterName
 | 
			
		||||
    # rubocop:disable Naming/MethodParameterName
 | 
			
		||||
    def rgb_to_hsl(r, g, b)
 | 
			
		||||
      r /= 255.0
 | 
			
		||||
      g /= 255.0
 | 
			
		||||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ module Paperclip
 | 
			
		|||
 | 
			
		||||
      [(r * 255).round, (g * 255).round, (b * 255).round]
 | 
			
		||||
    end
 | 
			
		||||
    # rubocop:enable Style/MethodParameterName
 | 
			
		||||
    # rubocop:enable Naming/MethodParameterName
 | 
			
		||||
 | 
			
		||||
    def lighten_or_darken(color, by)
 | 
			
		||||
      hue, saturation, light = rgb_to_hsl(color.r, color.g, color.b)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue