Sha256: 935325eef6eb91fc93c4374621b166fac0bfd7f3b6da658bf66c2760b05159a8

Contents?: true

Size: 957 Bytes

Versions: 6

Compression:

Stored size: 957 Bytes

Contents

# frozen_string_literal: true

require_relative "../base"

module Neetob
  class CLI
    module Heroku
      class Certs < Base
        attr_accessor :app

        def initialize(app)
          super()
          @app = app
        end

        def run
          certificates_list_heroku_output = `heroku certs -a #{app}`
          ui.success("Certificates of #{app}", print_to_audit_log: false)
          ui.info(certificates_list_heroku_output, print_to_audit_log: false)

          if Thread.current[:audit_mode]
            certificates_list_heroku_output.lines[2..].map do |line|
              match = line.match(
                /^\s*(\S+)\s+([^\d]+?)(?=\s+(\d{4}-\d{2}-\d{2} \d{2}:\d{2} UTC))/
              )
              next unless match

              {
                name: match[1],
                common_names: match[2],
                expires: match[3]
              }
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
neetob-0.5.35 lib/neetob/cli/heroku/certs.rb
neetob-0.5.34 lib/neetob/cli/heroku/certs.rb
neetob-0.5.33 lib/neetob/cli/heroku/certs.rb
neetob-0.5.32 lib/neetob/cli/heroku/certs.rb
neetob-0.5.31 lib/neetob/cli/heroku/certs.rb
neetob-0.5.30 lib/neetob/cli/heroku/certs.rb