Class: PostgresPR::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
95
96
97
98
99
100
101
102
|
# File 'lib/postgres-pr/message.rb', line 95
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
104
105
106
107
108
109
|
# File 'lib/postgres-pr/message.rb', line 104
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
114
115
116
117
118
|
# File 'lib/postgres-pr/message.rb', line 114
def dump
super(4) do |buffer|
buffer.write_int32_network(self.auth_type)
end
end
|
#message__dump ⇒ Object
the dump method of class Message
112
|
# File 'lib/postgres-pr/message.rb', line 112
alias message__dump dump
|
#parse(buffer) ⇒ Object
120
121
122
123
124
125
126
|
# File 'lib/postgres-pr/message.rb', line 120
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
|