Class: TJSON::Object
- Inherits:
-
Hash
- Object
- Hash
- TJSON::Object
- Defined in:
- lib/tjson/object.rb
Overview
TJSON object type (i.e. hash/dict-alike)
Instance Method Summary collapse
Instance Method Details
#[]=(tagged_name, value) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/tjson/object.rb', line 6 def []=(tagged_name, value) # NOTE: this regex is sloppy. The real parsing is performed in TJSON::DataType#parse result = tagged_name.match(/\A(?<name>.*):(?<tag>[A-Za-z0-9\<]+[\>]*)\z/) raise ParseError, "invalid tag: #{tagged_name.inspect}" unless result raise DuplicateNameError, "duplicate member name: #{result[:name].inspect}" if key?(result[:name]) type = TJSON::DataType.parse(result[:tag]) super(result[:name], type.convert(value)) end |