File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -90,16 +90,19 @@ def schema_from_fragment(base_schema, fragment)
9090 if !base_schema . has_key? ( f )
9191 raise JSON ::Schema ::SchemaError . new ( "Invalid fragment resolution for :fragment option" )
9292 end
93- base_schema = JSON :: Schema . new ( base_schema [ f ] , schema_uri , @options [ :version ] )
93+ base_schema = base_schema [ f ]
9494 elsif base_schema . is_a? ( Array )
9595 if base_schema [ f . to_i ] . nil?
9696 raise JSON ::Schema ::SchemaError . new ( "Invalid fragment resolution for :fragment option" )
9797 end
98- base_schema = JSON :: Schema . new ( base_schema [ f . to_i ] , schema_uri , @options [ :version ] )
98+ base_schema = base_schema [ f . to_i ]
9999 else
100100 raise JSON ::Schema ::SchemaError . new ( "Invalid schema encountered when resolving :fragment option" )
101101 end
102102 end
103+ unless base_schema . is_a? ( JSON ::Schema )
104+ base_schema = JSON ::Schema . new ( base_schema , schema_uri , @options [ :version ] )
105+ end
103106
104107 if @options [ :list ]
105108 base_schema . to_array_schema
You can’t perform that action at this time.
0 commit comments