Sha256: adf3e8bcc73a738a4ad476b5bc20a6aa31ec625eb14fbe1a73f268ccf5ffa179

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

module LetsCert
  class Runner

    # Class used to process validation time from String.
    # @author Sylvain Daubert
    class ValidTime

      # @param [String] str time string. May be:
      #   * an integer -> time in seconds
      #   * an integer plus a letter:
      #     * 30m: 30 minutes,
      #     * 30h: 30 hours,
      #     * 30d: 30 days.
      def initialize(str)
        m = str.match(/^(\d+)([mhd])?$/)
        if m
          @seconds = case m[2]
                     when nil
                       m[1].to_i
                     when 'm'
                       m[1].to_i * 60
                     when 'h'
                       m[1].to_i * 60 * 60
                     when 'd'
                       m[1].to_i * 24 * 60 * 60
                     end
        else
          raise OptionParser::InvalidArgument,
                "invalid argument: --valid-min #{str}"
        end
        @string = str
      end

      # Get time in seconds
      # @return [Integer]
      def to_seconds
        @seconds
      end

      # Get time as string
      # @return [String]
      def to_s
        @string
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
letscert-0.4.2 lib/letscert/runner/valid_time.rb