brew/Library/Homebrew/cmd/analytics.rb
2017-01-04 11:13:41 +00:00

49 lines
1.8 KiB
Ruby

#: * `analytics` [`state`]:
#: Display anonymous user behaviour analytics state.
#: Read more at <http://docs.brew.sh/Analytics.html>.
#:
#: * `analytics` (`on`|`off`):
#: Turn on/off Homebrew's analytics.
#:
#: * `analytics` `regenerate-uuid`:
#: Regenerate UUID used in Homebrew's analytics.
module Homebrew
module_function
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