Class: Terminalwire::Client::Entitlement::Paths
- Inherits:
-
Object
- Object
- Terminalwire::Client::Entitlement::Paths
- 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
- #each ⇒ Object
-
#initialize ⇒ Paths
constructor
A new instance of Paths.
- #permit(path) ⇒ Object
- #permitted?(path, mode: nil) ⇒ Boolean
- #serialize ⇒ Object
Constructor Details
#initialize ⇒ Paths
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
#each ⇒ Object
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
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 |
#serialize ⇒ Object
93 94 95 |
# File 'lib/terminalwire/client/entitlement/paths.rb', line 93 def serialize map(&:serialize) end |