formula/cask: add symbol support to no_autobump! method
				
					
				
			Signed-off-by: botantony <antonsm21@gmail.com>
This commit is contained in:
		
							parent
							
								
									5c032d3616
								
							
						
					
					
						commit
						79cf39fc1d
					
				
							
								
								
									
										7
									
								
								Library/Homebrew/autobump_constants.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Library/Homebrew/autobump_constants.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					# typed: strict
 | 
				
			||||||
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TODO: add more reasons here
 | 
				
			||||||
 | 
					NO_AUTOBUMP_REASONS_LIST = T.let({
 | 
				
			||||||
 | 
					  incompatible_version_format: "incompatible version format",
 | 
				
			||||||
 | 
					}.freeze, T::Hash[Symbol, String])
 | 
				
			||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
					# typed: true # rubocop:todo Sorbet/StrictSigil
 | 
				
			||||||
# frozen_string_literal: true
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require "autobump_constants"
 | 
				
			||||||
require "locale"
 | 
					require "locale"
 | 
				
			||||||
require "lazy_object"
 | 
					require "lazy_object"
 | 
				
			||||||
require "livecheck"
 | 
					require "livecheck"
 | 
				
			||||||
@ -547,14 +548,18 @@ module Cask
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def no_autobump!(because:)
 | 
					    def no_autobump!(because:)
 | 
				
			||||||
      raise ArgumentError, "`because` argument must be a string!" unless because.is_a?(String)
 | 
					      if !because.is_a?(String) && (!because.is_a?(Symbol) || !NO_AUTOBUMP_REASONS_LIST.key?(because))
 | 
				
			||||||
 | 
					        raise ArgumentError, "'because' argument should use valid symbol or a string!"
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if !@cask.allow_reassignment && @no_autobump_defined
 | 
					      if !@cask.allow_reassignment && @no_autobump_defined
 | 
				
			||||||
        raise CaskInvalidError.new(cask, "'no_autobump_defined' stanza may only appear once.")
 | 
					        raise CaskInvalidError.new(cask, "'no_autobump_defined' stanza may only appear once.")
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @no_autobump_defined = true
 | 
					      @no_autobump_defined = true
 | 
				
			||||||
      @no_autobump_message = because
 | 
					      # TODO: add symbol support when a list of common reasons is ready.
 | 
				
			||||||
 | 
					      # At this moment just convert symbols to a string
 | 
				
			||||||
 | 
					      @no_autobump_message = because.to_s
 | 
				
			||||||
      @autobump = false
 | 
					      @autobump = false
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
# typed: strict
 | 
					# typed: strict
 | 
				
			||||||
# frozen_string_literal: true
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require "autobump_constants"
 | 
				
			||||||
require "cache_store"
 | 
					require "cache_store"
 | 
				
			||||||
require "did_you_mean"
 | 
					require "did_you_mean"
 | 
				
			||||||
require "formula_support"
 | 
					require "formula_support"
 | 
				
			||||||
@ -4202,10 +4203,14 @@ class Formula
 | 
				
			|||||||
    # Method that excludes the formula from the autobump list.
 | 
					    # Method that excludes the formula from the autobump list.
 | 
				
			||||||
    #
 | 
					    #
 | 
				
			||||||
    # @api public
 | 
					    # @api public
 | 
				
			||||||
    sig { params(because: String).returns(T.untyped) }
 | 
					    sig { params(because: T.any(String, Symbol)).returns(T.untyped) }
 | 
				
			||||||
    def no_autobump!(because:)
 | 
					    def no_autobump!(because:)
 | 
				
			||||||
 | 
					      if because.is_a?(Symbol) && !NO_AUTOBUMP_REASONS_LIST.key?(because)
 | 
				
			||||||
 | 
					        raise ArgumentError, "'because' argument should use valid symbol or a string!"
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @no_autobump_defined = T.let(true, T.nilable(T::Boolean))
 | 
					      @no_autobump_defined = T.let(true, T.nilable(T::Boolean))
 | 
				
			||||||
      @no_autobump_message = T.let(because, T.nilable(String))
 | 
					      @no_autobump_message = T.let(because.to_s, T.nilable(String))
 | 
				
			||||||
      @autobump = T.let(false, T.nilable(T::Boolean))
 | 
					      @autobump = T.let(false, T.nilable(T::Boolean))
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user