Class: Rex::Proto::NTLM::Base::FieldSet
- Inherits:
-
Object
- Object
- Rex::Proto::NTLM::Base::FieldSet
- Defined in:
- lib/rex/proto/ntlm/base.rb
Overview
base class of data structure
Direct Known Subclasses
Defined Under Namespace
Classes: FieldSet
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, val) ⇒ Object
- #disable(name) ⇒ Object
- #enable(name) ⇒ Object
-
#initialize ⇒ FieldSet
constructor
self.
- #parse(str, offset = 0) ⇒ Object
- #serialize ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize ⇒ FieldSet
self
233 234 235 |
# File 'lib/rex/proto/ntlm/base.rb', line 233 def initialize @alist = self.class.prototypes.map{ |n, t, o| [n, t.new(o)] } end |
Instance Method Details
#[](name) ⇒ Object
249 250 251 252 253 |
# File 'lib/rex/proto/ntlm/base.rb', line 249 def [](name) a = @alist.assoc(name.to_s.intern) raise ArgumentError, "no such field: #{name}" unless a a[1] end |
#[]=(name, val) ⇒ Object
255 256 257 258 259 |
# File 'lib/rex/proto/ntlm/base.rb', line 255 def []=(name, val) a = @alist.assoc(name.to_s.intern) raise ArgumentError, "no such field: #{name}" unless a a[1] = val end |
#disable(name) ⇒ Object
265 266 267 |
# File 'lib/rex/proto/ntlm/base.rb', line 265 def disable(name) self[name].active = false end |
#enable(name) ⇒ Object
261 262 263 |
# File 'lib/rex/proto/ntlm/base.rb', line 261 def enable(name) self[name].active = true end |
#parse(str, offset = 0) ⇒ Object
241 242 243 |
# File 'lib/rex/proto/ntlm/base.rb', line 241 def parse(str, offset=0) @alist.inject(offset){|cur, a| cur += a[1].parse(str, cur)} end |
#serialize ⇒ Object
237 238 239 |
# File 'lib/rex/proto/ntlm/base.rb', line 237 def serialize @alist.map{|n, f| f.serialize }.join end |
#size ⇒ Object
245 246 247 |
# File 'lib/rex/proto/ntlm/base.rb', line 245 def size @alist.inject(0){|sum, a| sum += a[1].size} end |