Sha256: 8e43c6656bea3267ba05323618e5314500e183400aa293eda265241b764be81b

Contents?: true

Size: 708 Bytes

Versions: 2

Compression:

Stored size: 708 Bytes

Contents

module Seira
  module Teleport
    class Request
      def initialize(role, reviewer: nil, context: nil)
        @role = role
        @reviewer = reviewer
        @context = context
      end

      def invoke
        command.invoke
      end
      
      def cmd
        cmd = "request create --roles '#{@role}'"
        cmd += " --reason '#{reason}'"
        cmd += " --reviewers #{@reviewer}" unless @reviewer.nil?
        
        cmd
      end

      def reason
        "Running: seira #{@context[:cluster]} #{@context[:app]} #{@context[:category]} #{@context[:action]}"
      end

      def command
        @command ||= Seira::Commands::Teleport.new(cmd, context: @context)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
seira-0.8.1 lib/seira/teleport/request.rb
seira-0.8.0 lib/seira/teleport/request.rb