class Tanker::SharingOptions

Options that can be given when sharing data

Public Class Methods

new(share_with_users: [], share_with_groups: []) click to toggle source
Calls superclass method
# File lib/tanker/sharing_options.rb, line 9
def initialize(share_with_users: [], share_with_groups: [])
  super()

  @users_objs = share_with_users.map { |id| CTanker.new_cstring id }
  users = FFI::MemoryPointer.new(:pointer, share_with_users.length)
  users.write_array_of_pointer(@users_objs)

  @groups_objs = share_with_groups.map { |id| CTanker.new_cstring id }
  groups = FFI::MemoryPointer.new(:pointer, share_with_groups.length)
  groups.write_array_of_pointer(@groups_objs)

  self[:version] = 1
  self[:recipient_public_identities] = users
  self[:nb_recipient_public_identities] = share_with_users.length
  self[:recipient_group_ids] = groups
  self[:nb_recipient_group_ids] = share_with_groups.length
end