Class: Attributes

Inherits:
Hash
  • Object
show all
Defined in:
lib/rexleparser.rb

Defined Under Namespace

Classes: Value

Instance Method Summary collapse

Constructor Details

#initialize(h = {}) ⇒ Attributes

Returns a new instance of Attributes.



34
35
36
# File 'lib/rexleparser.rb', line 34

def initialize(h={})
  super().merge! h
end

Instance Method Details

#[]=(k, v) ⇒ Object



38
39
40
# File 'lib/rexleparser.rb', line 38

def []=(k,v)
  super(k, k != :class ? Value.new(v) : v)
end

#delete(key = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/rexleparser.rb', line 42

def delete(key=nil)

  if key then
    super(key)
  else
    keys.each {|key| super(key)}
  end

end

#merge(h) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/rexleparser.rb', line 52

def merge(h)

  h2 = h.inject({}) do |r, kv| 
    k, raw_v = kv
    v = raw_v.is_a?(String) ? Value.new(raw_v) : raw_v
    r.merge(k => v) 
  end
  
  super(h2)
  
end