Class: Kaname::Adapter::ReadOnly

Inherits:
Object
  • Object
show all
Defined in:
lib/kaname/adapter/read_only.rb

Direct Known Subclasses

ReadAndWrite

Instance Method Summary collapse

Constructor Details

#initializeReadOnly

Returns a new instance of ReadOnly.



4
5
6
# File 'lib/kaname/adapter/read_only.rb', line 4

def initialize
  Kaname::Config.setup
end

Instance Method Details

#change_user_role(tenant, user_hash, before_role, after_role) ⇒ Object



62
63
64
65
# File 'lib/kaname/adapter/read_only.rb', line 62

def change_user_role(tenant, user_hash, before_role, after_role)
  delete_user_role(tenant, user_hash, before_role)
  create_user_role(tenant, user_hash, after_role)
end

#create_user(name, email) ⇒ Object



45
46
47
48
# File 'lib/kaname/adapter/read_only.rb', line 45

def create_user(name, email)
  puts "Create User: #{name} #{email}"
  {"name" => name}
end

#create_user_role(tenant, user_hash, role) ⇒ Object



50
51
52
# File 'lib/kaname/adapter/read_only.rb', line 50

def create_user_role(tenant, user_hash, role)
  puts "Create User Role: #{tenant} #{user_hash["name"]} #{role}"
end

#delete_user(name) ⇒ Object



54
55
56
# File 'lib/kaname/adapter/read_only.rb', line 54

def delete_user(name)
  puts "Delete User: #{name}"
end

#delete_user_role(tenant, user_hash, role) ⇒ Object



58
59
60
# File 'lib/kaname/adapter/read_only.rb', line 58

def delete_user_role(tenant, user_hash, role)
  puts "Delete User Role: #{tenant} #{user_hash["name"]} #{role}"
end

#find_user(name) ⇒ Object



12
13
14
15
# File 'lib/kaname/adapter/read_only.rb', line 12

def find_user(name)
  user = Yao::User.find_by_name(name).first
  {"id" => user.id, "name" => user.name}
end

#list_role_assignmentsObject



29
30
31
32
33
34
35
# File 'lib/kaname/adapter/read_only.rb', line 29

def list_role_assignments
  unless @_role_assignments
    @_role_assignments ||= Yao::RoleAssignment.list
    Yao::Auth.try_new
  end
  @_role_assignments
end

#list_rolesObject



25
26
27
# File 'lib/kaname/adapter/read_only.rb', line 25

def list_roles
  @_roles ||= Yao::Role.list
end

#list_tenantsObject



17
18
19
20
21
22
23
# File 'lib/kaname/adapter/read_only.rb', line 17

def list_tenants
  @_tenants ||= if keystone_v2?
                  Yao::Tenant.list
                else
                  Yao::Project.list
                end
end

#list_usersObject



8
9
10
# File 'lib/kaname/adapter/read_only.rb', line 8

def list_users
  @_users ||= Yao::User.list
end

#users_hashObject



37
38
39
40
41
42
43
# File 'lib/kaname/adapter/read_only.rb', line 37

def users_hash
  @_user_hash ||= list_users.each_with_object(Hash.new { |h,k| h[k] = {} }) do |u,uh|
    next if ignored_users.include?(u.name)
    uh[u.name]["email"] = u.email
    uh[u.name]["tenants"] = tenant_role_hash(u.id)
  end
end