Sha256: 2dc5543c6a76df5eb4438d8b3260180c715976d7e428d3713aa9fe69788e40bd
Contents?: true
Size: 1.25 KB
Versions: 5
Compression:
Stored size: 1.25 KB
Contents
module Jsonerino class JsonValue attr_accessor :start, :finish end class JsonNull < JsonValue def resolve nil end end class JsonBool < JsonValue attr_reader :value def initialize(value) @value = value end def resolve @value end end class JsonNumber < JsonValue attr_reader :value def initialize(value) @value = value end def resolve @value end end class JsonString < JsonValue attr_reader :value def initialize(value) @value = value end def resolve @value end end class JsonArray < JsonValue attr_reader :value def initialize() @value = [] end def push(value) raise 'Value is not instnace of JsonValue' unless value.is_a? JsonValue @value.push(value) end def resolve @value.map(&:resolve) end end class JsonObject < JsonValue attr_reader :value def initialize() @value = {} end def push(key, value) raise 'Value is not instnace of JsonValue' unless value.is_a? JsonValue @value[key] = value end def resolve @value.keys.each do |key| @value[key] = @value[key].resolve end @value end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
jsonerino-0.2.4 | lib/jsonerino/ast.rb |
jsonerino-0.2.3 | lib/jsonerino/ast.rb |
jsonerino-0.2.2 | lib/jsonerino/ast.rb |
jsonerino-0.2.1 | lib/jsonerino/ast.rb |
jsonerino-0.1.1 | lib/jsonerino/ast.rb |