Class: Authentification
Constant Summary
collapse
- AuthTypeMap =
Hash.new { UnknownAuthType }
Constants inherited
from Message
Message::MsgTypeMap
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Message
dump, fields, read, register_message_type
Class Method Details
.create(buffer) ⇒ Object
93
94
95
96
97
98
99
100
|
# File 'lib/postgres-pr/message.rb', line 93
def self.create(buffer)
buffer.position = 5
authtype = buffer.read_int32_network
klass = AuthTypeMap[authtype]
obj = klass.allocate
obj.parse(buffer)
obj
end
|
.register_auth_type(type) ⇒ Object
102
103
104
105
106
107
|
# File 'lib/postgres-pr/message.rb', line 102
def self.register_auth_type(type)
raise "duplicate auth type registration" if AuthTypeMap.has_key?(type)
AuthTypeMap[type] = self
self.const_set(:AuthType, type)
class_eval "def auth_type() AuthType end"
end
|
Instance Method Details
#dump ⇒ Object
112
113
114
115
116
|
# File 'lib/postgres-pr/message.rb', line 112
def dump
super(4) do |buffer|
buffer.write_int32_network(self.auth_type)
end
end
|
#message__dump ⇒ Object
the dump method of class Message
110
|
# File 'lib/postgres-pr/message.rb', line 110
alias message__dump dump
|
#parse(buffer) ⇒ Object
118
119
120
121
122
123
124
|
# File 'lib/postgres-pr/message.rb', line 118
def parse(buffer)
super do
auth_t = buffer.read_int32_network
raise ParseError unless auth_t == self.auth_type
yield if block_given?
end
end
|