class Kanrisuru::Mode::Permission
Attributes
symbolic[R]
Public Class Methods
new(numeric, symbolic)
click to toggle source
# File lib/kanrisuru/mode.rb, line 8 def initialize(numeric, symbolic) @numeric = numeric @symbolic = symbolic update_symbolic_rwx end
Public Instance Methods
all?()
click to toggle source
# File lib/kanrisuru/mode.rb, line 27 def all? read? && write? && execute? end
execute=(boolean)
click to toggle source
# File lib/kanrisuru/mode.rb, line 59 def execute=(boolean) @executable = boolean update_numeric update_symbolic end
execute?()
click to toggle source
# File lib/kanrisuru/mode.rb, line 74 def execute? @executable end
numeric()
click to toggle source
# File lib/kanrisuru/mode.rb, line 23 def numeric @numeric.to_s end
numeric=(numeric)
click to toggle source
# File lib/kanrisuru/mode.rb, line 38 def numeric=(numeric) @numeric = numeric update_numeric_rwx update_symbolic end
read=(boolean)
click to toggle source
# File lib/kanrisuru/mode.rb, line 45 def read=(boolean) @readable = boolean update_numeric update_symbolic end
read?()
click to toggle source
# File lib/kanrisuru/mode.rb, line 66 def read? @readable end
symbolic=(symbolic)
click to toggle source
# File lib/kanrisuru/mode.rb, line 31 def symbolic=(symbolic) @symbolic = symbolic update_symbolic_rwx update_numeric end
to_i()
click to toggle source
# File lib/kanrisuru/mode.rb, line 15 def to_i numeric.to_i end
to_s()
click to toggle source
# File lib/kanrisuru/mode.rb, line 19 def to_s symbolic end
write=(boolean)
click to toggle source
# File lib/kanrisuru/mode.rb, line 52 def write=(boolean) @writeable = boolean update_numeric update_symbolic end
write?()
click to toggle source
# File lib/kanrisuru/mode.rb, line 70 def write? @writeable end
Private Instance Methods
update_numeric()
click to toggle source
# File lib/kanrisuru/mode.rb, line 94 def update_numeric @numeric = (((read? ? 1 : 0) << 2) + ((write? ? 1 : 0) << 1) + (execute? ? 1 : 0)).to_s end
update_numeric_rwx()
click to toggle source
# File lib/kanrisuru/mode.rb, line 86 def update_numeric_rwx mode = @numeric.to_i(8) @readable = ((mode >> 2) & 0b001) == 1 @writeable = ((mode >> 1) & 0b001) == 1 @executable = ((mode >> 0) & 0b001) == 1 end
update_symbolic()
click to toggle source
# File lib/kanrisuru/mode.rb, line 98 def update_symbolic @symbolic = "#{read? ? 'r' : '-'}#{write? ? 'w' : '-'}#{execute? ? 'x' : '-'}" end
update_symbolic_rwx()
click to toggle source
# File lib/kanrisuru/mode.rb, line 80 def update_symbolic_rwx @readable = @symbolic.include?('r') @writeable = @symbolic.include?('w') @executable = @symbolic.include?('x') end