47 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | #:  * `analytics` [`state`]: | ||
|  | #:    Display anonymous user behaviour analytics state. | ||
|  | #:    Read more at <https://git.io/brew-analytics>. | ||
|  | #: | ||
|  | #:  * `analytics` (`on`|`off`): | ||
|  | #:    Turn on/off Homebrew's analytics. | ||
|  | #: | ||
|  | #:  * `analytics` `regenerate-uuid`: | ||
|  | #:    Regenerate UUID used in Homebrew's analytics. | ||
|  | 
 | ||
|  | module Homebrew | ||
|  |   def analytics | ||
|  |     config_file = HOMEBREW_REPOSITORY/".git/config" | ||
|  | 
 | ||
|  |     raise UsageError if ARGV.named.size > 1
 | ||
|  |     case ARGV.named.first | ||
|  |     when nil, "state" | ||
|  |       analyticsdisabled = \ | ||
|  |         Utils.popen_read("git config --file=#{config_file} --get homebrew.analyticsdisabled").chuzzle | ||
|  |       uuid = \ | ||
|  |         Utils.popen_read("git config --file=#{config_file} --get homebrew.analyticsuuid").chuzzle | ||
|  |       if ENV["HOMEBREW_NO_ANALYTICS"] | ||
|  |         puts "Analytics is disabled (by HOMEBREW_NO_ANALYTICS)." | ||
|  |       elsif analyticsdisabled == "true" | ||
|  |         puts "Analytics is disabled." | ||
|  |       else | ||
|  |         puts "Analytics is enabled." | ||
|  |         puts "UUID: #{uuid}" if uuid | ||
|  |       end | ||
|  |     when "on" | ||
|  |       safe_system "git", "config", "--file=#{config_file}", | ||
|  |                                    "--replace-all", "homebrew.analyticsdisabled", "false" | ||
|  |       safe_system "git", "config", "--file=#{config_file}", | ||
|  |                                    "--replace-all", "homebrew.analyticsmessage", "true" | ||
|  |     when "off" | ||
|  |       safe_system "git", "config", "--file=#{config_file}", | ||
|  |                                    "--replace-all", "homebrew.analyticsdisabled", "true" | ||
|  |       system "git", "config", "--file=#{config_file}", "--unset-all", "homebrew.analyticsuuid" | ||
|  |     when "regenerate-uuid" | ||
|  |       # it will be regenerated in next run. | ||
|  |       system "git", "config", "--file=#{config_file}", "--unset-all", "homebrew.analyticsuuid" | ||
|  |     else | ||
|  |       raise UsageError | ||
|  |     end | ||
|  |   end | ||
|  | end |