class Fog::Scaleway::Account::User

Public Instance Methods

organizations=(value) click to toggle source
# File lib/fog/scaleway/models/account/user.rb, line 19
def organizations=(value)
  attributes[:organizations] = value.map do |v|
    case v
    when Hash
      service.organizations.new(v)
    when String
      service.organizations.new(identity: v)
    else
      v
    end
  end
end
save() click to toggle source
# File lib/fog/scaleway/models/account/user.rb, line 32
def save
  if persisted?
    update
  else
    create
  end
end

Private Instance Methods

create() click to toggle source
# File lib/fog/scaleway/models/account/user.rb, line 42
def create
  raise Fog::Errors::NotImplemented
end
update() click to toggle source
# File lib/fog/scaleway/models/account/user.rb, line 46
def update
  requires :identity

  options = {}
  options[:firstname] = firstname unless firstname.nil?
  options[:lastname] = lastname unless lastname.nil?

  unless ssh_public_keys.nil?
    options[:ssh_public_keys] = ssh_public_keys.map do |k|
      { 'key' => k['key'] }
    end
  end

  if (user = service.update_user(identity, options).body['user'])
    merge_attributes(user)
    true
  else
    false
  end
end