def parse_options
      super do |opts|

        opts.on("--list MODE", "Listing mode.  ALL, NAME, SHORT, PATH") do |u|
          options[:list] = u
          options[:list].upcase!
          unless ["ALL", "NAME", "SHORT", "PATH"].include?(options[:list])
            raise "invalid list mode '#{options[:list]}' for '--list' option"
          end
        end

        opts.on("--short", "List summary status only, alias for '--list=SHORT'") do |s|
          options[:list] = 'SHORT'
        end

        # Most decendants of BaseAction will only handle one type of asset, the
        # list action is unique in that you can specify the type of asset to list
        opts.on("--type ASSET_TYPE", "Asset type to list:  app_asset (default)") do |t|
          options[:type] = t
          unless ["app_asset"].include?(options[:type])
            raise "unknown asset type '#{options[:type]}' for '--type' option"
          end
        end

      end
    end
def parse_options
      super do |opts|

        opts.on("--list MODE", "Listing mode.  ALL, NAME, SHORT, PATH") do |u|
          options[:list] = u
          options[:list].upcase!
          unless ["ALL", "NAME", "SHORT", "PATH"].include?(options[:list])
            raise "invalid list mode '#{options[:list]}' for '--list' option"
          end
        end

        opts.on("--short", "List summary status only, alias for '--list=SHORT'") do |s|
          options[:list] = 'SHORT'
        end

        # Most decendants of BaseAction will only handle one type of asset, the
        # list action is unique in that you can specify the type of asset to list
        opts.on("--type ASSET_TYPE", "Asset type to list:  app_asset (default)") do |t|
          options[:type] = t
          unless ["app_asset"].include?(options[:type])
            raise "unknown asset type '#{options[:type]}' for '--type' option"
          end
        end

      end
    end
Add action specific options