class Krakow::Command

Messages for sending to remote server

Attributes

response[RW]

@return [Krakow::FrameType] response to command

Public Class Methods

error() click to toggle source

Allowed ERROR return values

@return [Array<String>]

# File lib/krakow/command.rb, line 35
def error
  []
end
ok() click to toggle source

Allowed OK return values

@return [Array<String>]

# File lib/krakow/command.rb, line 28
def ok
  []
end
response_for(message) click to toggle source

Response type expected

@param message [Krakow::Message] message to check @return [Symbol] response expected (:none, :error_only, :required)

# File lib/krakow/command.rb, line 43
def response_for(message)
  if(message.class.ok.empty?)
    if(message.class.error.empty?)
      :none
    else
      :error_only
    end
  else
    :required
  end
end

Public Instance Methods

error?(response) click to toggle source

Is response ERROR

@return [TrueClass, FalseClass]

# File lib/krakow/command.rb, line 83
def error?(response)
  response = response.content if response.is_a?(FrameType)
  self.class.error.include?(response)
end
name() click to toggle source

@return [String] name of command

# File lib/krakow/command.rb, line 61
def name
  self.class.name.split('::').last.upcase
end
ok?(response) click to toggle source

Is response OK

@return [TrueClass, FalseClass]

# File lib/krakow/command.rb, line 75
def ok?(response)
  response = response.content if response.is_a?(FrameType)
  self.class.ok.include?(response)
end
to_line(*args) click to toggle source

Convert to line output

@return [String] socket ready string

# File lib/krakow/command.rb, line 68
def to_line(*args)
  raise NotImplementedError.new 'No line conversion method defined!'
end