Class: URIResolver::URIResolver
- Inherits:
 - 
      Object
      
        
- Object
 - URIResolver::URIResolver
 
 - Includes:
 - JSONModel
 - Defined in:
 - backend/app/lib/uri_resolver.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (URIResolver) initialize(properties_to_resolve, env) 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of URIResolver.
 - 
  
    
      - (Object) resolve_references(value, clone = true) 
    
    
  
  
  
  
  
  
  
  
  
    
Walk ‘value’, find all refs, resolve them.
 
Methods included from JSONModel
JSONModel, #JSONModel, add_error_handler, all, allow_unmapped_enum_value, backend_url, client_mode?, custom_validations, destroy_model, enum_default_value, enum_values, handle_error, init, load_schema, #models, models, parse_jsonmodel_ref, parse_reference, repository, repository_for, schema_src, set_repository, strict_mode, strict_mode?, with_repository
Constructor Details
- (URIResolver) initialize(properties_to_resolve, env)
Returns a new instance of URIResolver
      9 10 11 12 13 14 15 16 17 18  | 
    
      # File 'backend/app/lib/uri_resolver.rb', line 9 def initialize(properties_to_resolve, env) @to_resolve = [] @env = env if properties_to_resolve.is_a?(Array) @properties = properties_to_resolve else raise ":all not implemented yet" end end  | 
  
Instance Method Details
- (Object) resolve_references(value, clone = true)
Walk ‘value’, find all refs, resolve them
      22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38  | 
    
      # File 'backend/app/lib/uri_resolver.rb', line 22 def resolve_references(value, clone = true) return value if properties.empty? value = value.to_hash(:trusted) if value.is_a?(JSONModelType) value = deep_clone(value) if clone @to_resolve = [] # Walk the tree of 'value' looking for any refs that should be resolved. # Store them on this instance. store_refs_for_resolving(value) # Resolve all refs, mutating 'value' to include resolved versions. resolve_and_insert_refs! value end  |