class RedisProtocol::Request

Attributes

components[R]
raw_data[R]
type[R]

Public Class Methods

new(data) click to toggle source
# File lib/redis-protocol/request.rb, line 6
def initialize(data)
  @raw_data = data
  @type, @components= nil, []
  @next_length = 0
  parse
end

Public Instance Methods

component_count() click to toggle source
# File lib/redis-protocol/request.rb, line 13
def component_count
  @components.length
end

Private Instance Methods

inline() click to toggle source

Inline Parser

# File lib/redis-protocol/request.rb, line 27
def inline
  @raw_data.split
end
parse() click to toggle source
# File lib/redis-protocol/request.rb, line 19
def parse
  @type ||= @raw_data[0].eql?('*') ? :standard : :inline

  @components = send(@type)
end
standard() click to toggle source

Standard Parser

# File lib/redis-protocol/request.rb, line 35
def standard
  RedisProtocol::UnifiedProtocol.parse @raw_data
end