Method: Aerospike::AdminCommand#parse_privileges

Defined in:
lib/aerospike/command/admin_command.rb

#parse_privileges(role) ⇒ Object



602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
# File 'lib/aerospike/command/admin_command.rb', line 602

def parse_privileges(role)
  size = @data_buffer.read(@data_offset)
  @data_offset += 1
  role.privileges = []

  i = 0
  while i < size
    priv = Privilege.new
    priv.code = Privilege.from(@data_buffer.read(@data_offset))
    @data_offset += 1

    if priv.can_scope?
      len = @data_buffer.read(@data_offset)
      @data_offset += 1
      priv.namespace = @data_buffer.read(@data_offset, len)
      @data_offset += len

      len = @data_buffer.read(@data_offset)
      @data_offset += 1
      priv.set_name = @data_buffer.read(@data_offset, len)
      @data_offset += len
    end

    role.privileges << priv

    i = i.succ
  end
end