class TeletaskApi::Request
Constants
- START
Public Class Methods
new(command, function = 0, number = 0, setting = nil)
click to toggle source
# File lib/request.rb, line 4 def initialize command, function = 0, number = 0, setting = nil @command = command @parameters = Array.new case command when Command::KEEPALIVE when Command::LOG @parameters = Array.new @parameters[0] = function @parameters[1] = number else @parameters[0] = 1 #central number @parameters[1] = function @parameters[2] = 0 #byte1 @parameters[3] = number #byte2 @parameters[4] = setting if setting != nil end end
Public Instance Methods
to_s()
click to toggle source
# File lib/request.rb, line 23 def to_s #"s,8,7,1,1,0,21,103,143," request = [START, length, @command] + @parameters + [checksum] request.pack("C*") end
Private Instance Methods
checksum()
click to toggle source
# File lib/request.rb, line 30 def checksum parametersum = @parameters.empty? ? 0 : @parameters.inject{|sum,x| sum + x } return (START + length + @command + parametersum) % 256 end
length()
click to toggle source
# File lib/request.rb, line 35 def length return @parameters.length + 3 end