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

#merge(h) ⇒ Object



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

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