Class: Terminalwire::Client::Entitlement::Paths

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/terminalwire/client/entitlement/paths.rb

Overview

A list of paths and permissions that server has to write on the client workstation.

Defined Under Namespace

Classes: Permit

Instance Method Summary collapse

Constructor Details

#initializePaths

Returns a new instance of Paths.



73
74
75
# File 'lib/terminalwire/client/entitlement/paths.rb', line 73

def initialize
  @permitted = []
end

Instance Method Details

#eachObject



77
78
79
# File 'lib/terminalwire/client/entitlement/paths.rb', line 77

def each(&)
  @permitted.each(&)
end

#permit(path) ⇒ Object



81
82
83
# File 'lib/terminalwire/client/entitlement/paths.rb', line 81

def permit(path, **)
  @permitted.append Permit.new(path:, **)
end

#permitted?(path, mode: nil) ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
88
89
90
91
# File 'lib/terminalwire/client/entitlement/paths.rb', line 85

def permitted?(path, mode: nil)
  if mode
    find { |it| it.permitted_path?(path) and it.permitted_mode?(mode) }
  else
    find { |it| it.permitted_path?(path) }
  end
end

#serializeObject



93
94
95
# File 'lib/terminalwire/client/entitlement/paths.rb', line 93

def serialize
  map(&:serialize)
end