From 53e232fc7e2f5f9372ba9b544e01abf99f96c99c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADtor=20Galv=C3=A3o?= <info@vitorgalvao.com>
Date: Mon, 23 Jan 2017 01:03:19 +0000
Subject: [PATCH] Add --calculate (print current checkpoint without it)

---
 .../lib/hbc/cli/internal_appcast_checkpoint.rb    | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/Library/Homebrew/cask/lib/hbc/cli/internal_appcast_checkpoint.rb b/Library/Homebrew/cask/lib/hbc/cli/internal_appcast_checkpoint.rb
index 6de76cbc77..fc2d1049fc 100644
--- a/Library/Homebrew/cask/lib/hbc/cli/internal_appcast_checkpoint.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli/internal_appcast_checkpoint.rb
@@ -2,13 +2,14 @@ module Hbc
   class CLI
     class InternalAppcastCheckpoint < InternalUseBase
       def self.run(*args)
+        calculate = args.include? "--calculate"
         cask_tokens = cask_tokens_from(args)
         raise CaskUnspecifiedError if cask_tokens.empty?
 
-        appcask_checkpoint(cask_tokens)
+        appcask_checkpoint(cask_tokens, calculate)
       end
 
-      def self.appcask_checkpoint(cask_tokens)
+      def self.appcask_checkpoint(cask_tokens, calculate)
         count = 0
 
         cask_tokens.each do |cask_token|
@@ -17,9 +18,13 @@ module Hbc
           if cask.appcast.nil?
             opoo "Cask '#{cask}' is missing an `appcast` stanza."
           else
-            result = cask.appcast.calculate_checkpoint
+            if calculate
+              result = cask.appcast.calculate_checkpoint
 
-            checkpoint = result[:checkpoint]
+              checkpoint = result[:checkpoint]
+            else
+              checkpoint = cask.appcast.checkpoint
+            end
 
             if checkpoint.nil?
               onoe "Could not retrieve `appcast` checkpoint for cask '#{cask}': #{result[:command_result].stderr}"
@@ -34,7 +39,7 @@ module Hbc
       end
 
       def self.help
-        "calculates a given Cask's appcast checkpoint"
+        "prints (no flag) or calculates ('--calculate') a given Cask's appcast checkpoint"
       end
 
       def self.needs_init?
-- 
GitLab