Module: UnixLikePermissions
- Extended by:
- UnixLikePermissions
- Included in:
- UnixLikePermissions
- Defined in:
- lib/unix_like_permissions.rb,
lib/unix_like_permissions/version.rb,
lib/unix_like_permissions/permission_series.rb,
lib/unix_like_permissions/types/permission_series.rb
Defined Under Namespace
Modules: Types
Classes: PermissionSeries
Constant Summary
collapse
- VERSION =
"0.4.14"
Instance Method Summary
collapse
Instance Method Details
#create(permissions) ⇒ Object
11
12
13
|
# File 'lib/unix_like_permissions.rb', line 11
def create(permissions)
PermissionSeries.new(permissions)
end
|
#load_permissions_map!(permissions) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/unix_like_permissions.rb', line 15
def load_permissions_map!(permissions)
PermissionSeries.send(:remove_const, :PERMISSIONS_MAP_WAS) if defined?(PermissionSeries::PERMISSIONS_MAP_WAS)
PermissionSeries.const_set(:PERMISSIONS_MAP_WAS, PermissionSeries::PERMISSIONS_MAP)
PermissionSeries.send(:remove_const, :PERMISSIONS_MAP) if defined?(PermissionSeries::PERMISSIONS_MAP)
PermissionSeries.const_set(:PERMISSIONS_MAP, permissions_map(permissions))
PermissionSeries::PERMISSIONS_MAP.freeze
PermissionSeries::PERMISSIONS_MAP_WAS.freeze
PermissionSeries.define_getters!
puts "Permission map loaded: #{PermissionSeries::PERMISSIONS_MAP}"
end
|
#permissions_map(permissions) ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/unix_like_permissions.rb', line 29
def permissions_map(permissions)
raise ArgumentError("Permission map must be array of symbols!") unless permissions.is_a?(Array) && permissions.all? { |permission| permission.is_a?(Symbol) }
permissions.map.with_index do |permission, index|
[permission, 2**index]
end.to_h
end
|