Sha256: ab433e90785841b1f2eea007fb6650e96012234ae69e503b5fce585f7088bc75

Contents?: true

Size: 429 Bytes

Versions: 12

Compression:

Stored size: 429 Bytes

Contents

module Terminalwire::Client::Entitlement
  # URLs the server can open on the client.
  class Schemes
    include Enumerable

    def initialize
      @permitted = Set.new
    end

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

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

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

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

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
terminalwire-client-0.3.0 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-client-0.3.0.alpha5 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-client-0.3.0.alpha4 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-client-0.3.0.alpha3 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-client-0.3.0.alpha2 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-client-0.3.0.alpha1 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.5 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.4 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.3 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.2 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.1 lib/terminalwire/client/entitlement/schemes.rb
terminalwire-0.2.0 lib/terminalwire/client/entitlement/schemes.rb