Class: Terminalwire::Client::Entitlement::Schemes

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

Overview

URLs the server can open on the client.

Instance Method Summary collapse

Constructor Details

#initializeSchemes

Returns a new instance of Schemes.



6
7
8
# File 'lib/terminalwire/client/entitlement/schemes.rb', line 6

def initialize
  @permitted = Set.new
end

Instance Method Details

#eachObject



10
11
12
# File 'lib/terminalwire/client/entitlement/schemes.rb', line 10

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

#permit(scheme) ⇒ Object



14
15
16
# File 'lib/terminalwire/client/entitlement/schemes.rb', line 14

def permit(scheme)
  @permitted << scheme.to_s
end

#permitted?(url) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/terminalwire/client/entitlement/schemes.rb', line 18

def permitted?(url)
  include? URI(url).scheme
end

#serializeObject



22
23
24
# File 'lib/terminalwire/client/entitlement/schemes.rb', line 22

def serialize
  map { |scheme| { scheme: } }
end