class Terminalwire::Resource::Base

def self.protocol_key

def self.protocol_key
  name.split("::").last.downcase
end

def connect; end

def connect; end

def disconnect; end

def disconnect; end

def fail(response, **data)

def fail(response, **data)
  respond(status: "failure", response:, **data)
end

def initialize(name, adapter)

def initialize(name, adapter)
  @name = name.to_s
  @adapter = adapter
end

def respond(**response)

def respond(**response)
  adapter.write(event: "resource", name: @name, **response)
end

def succeed(response, **data)

def succeed(response, **data)
  respond(status: "success", response:, **data)
end