Module: Fibman::Additions::TargeterAddition
- Extended by:
- ActiveSupport::Concern
- Includes:
- ContainerAddition
- Defined in:
- lib/fibman/additions/targeter_addition.rb
Instance Method Summary
collapse
#fib_container, #fib_inherit
Instance Method Details
#add_permissions(*permission_keys) ⇒ Object
34
35
36
37
38
|
# File 'lib/fibman/additions/targeter_addition.rb', line 34
def add_permissions *permission_keys
new_permissions = fib_container.permissions. permission_keys
@permissions = permissions + new_permissions
save_permissions
end
|
#clear_permissions ⇒ Object
46
47
48
49
|
# File 'lib/fibman/additions/targeter_addition.rb', line 46
def clear_permissions
fib_container.fpa.clear fib_redis_key
@permissions = nil
end
|
#create_permissions(*permission_keys) ⇒ Object
23
24
25
26
27
|
# File 'lib/fibman/additions/targeter_addition.rb', line 23
def create_permissions *permission_keys
clear_permissions
new_permissions permission_keys
save_permissions
end
|
#del_permissions(*permission_keys) ⇒ Object
40
41
42
43
44
|
# File 'lib/fibman/additions/targeter_addition.rb', line 40
def del_permissions *permission_keys
del_permissions = fib_container.permissions. permission_keys
@permissions = permissions - del_permissions
save_permissions
end
|
#fib_identify ⇒ Object
59
60
61
62
|
# File 'lib/fibman/additions/targeter_addition.rb', line 59
def fib_identify
raise UnSetTargeterIdentify, "Please rewrite [fib_identify] method and set only sign in #{self.class.name}" unless respond_to? :id
id
end
|
#fib_redis_key ⇒ Object
55
56
57
|
# File 'lib/fibman/additions/targeter_addition.rb', line 55
def fib_redis_key
"Fibman:#{fib_container.key}:#{self.class.name}:#{fib_identify}"
end
|
#get_persistence_permissions ⇒ Object
51
52
53
|
# File 'lib/fibman/additions/targeter_addition.rb', line 51
def get_persistence_permissions
fib_container.restore_permissions(fib_redis_key)
end
|
#new_permissions(*permission_keys) ⇒ Object
29
30
31
32
|
# File 'lib/fibman/additions/targeter_addition.rb', line 29
def new_permissions *permission_keys
permission_keys = [permission_keys].flatten
@permissions = fib_container.permissions. permission_keys
end
|
#permissions ⇒ Object
10
11
12
|
# File 'lib/fibman/additions/targeter_addition.rb', line 10
def permissions
@permissions ||= permissions_scope & (get_persistence_permissions || permissions_scope)
end
|
#permissions_scope ⇒ Object
14
15
16
|
# File 'lib/fibman/additions/targeter_addition.rb', line 14
def permissions_scope
fib_inherit.permissions
end
|
#save_permissions ⇒ Object
18
19
20
21
|
# File 'lib/fibman/additions/targeter_addition.rb', line 18
def save_permissions
fib_container.fpa.clear fib_redis_key
fib_container.fpa.save fib_redis_key, permissions.keys
end
|