Sha256: 2b48aa31424dc6a488c57e1546ac8d73b7fa68f4753093bf2c3bb9f2dc954d04

Contents?: true

Size: 709 Bytes

Versions: 1

Compression:

Stored size: 709 Bytes

Contents

module SecretServer
  module Commands
    # Command to fetch Secret values
    module Secret
      def secret(id, opts = {})
        unless id.is_a?(Integer) && id > 0
          raise ArgumentError, 'id must be a positive integer'
        end
        args = ['-s', id.to_s]
        if opts.key? :field
          args += opts[:field] == :all ? ['-ad'] : ['-f', opts[:field].to_s]
        end
        secret_exec(*args)
      end

      private

      def secret_exec(*args)
        stdout, * = sdkclient_exec('secret', *args)
        stdout.chomp!
        begin
          JSON.parse(stdout)
        rescue JSON::ParserError
          stdout
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
secret_server-0.1.0 lib/secret_server/commands/secret.rb