Class: Openapi3Parser::SourceInput::Raw

Inherits:
Openapi3Parser::SourceInput show all
Defined in:
lib/openapi3_parser/source_input/raw.rb

Overview

An input of data (typically a Hash) to for initialising an OpenAPI document. Most likely used in development scenarios when you want to test things without creating/tweaking an OpenAPI source file

Instance Attribute Summary collapse

Attributes inherited from Openapi3Parser::SourceInput

#access_error, #parse_error

Instance Method Summary collapse

Methods inherited from Openapi3Parser::SourceInput

#available?, #contents, #relative_to

Constructor Details

#initialize(raw_input, base_url: nil, working_directory: nil) ⇒ Raw

Returns a new instance of Raw.

Parameters:

  • raw_input (Object)
  • base_url (String, nil) (defaults to: nil)
  • working_directory (String, nil) (defaults to: nil)


26
27
28
29
30
31
32
# File 'lib/openapi3_parser/source_input/raw.rb', line 26

def initialize(raw_input, base_url: nil, working_directory: nil)
  @raw_input = raw_input
  @base_url = base_url
  working_directory ||= resolve_working_directory
  @working_directory = ::File.absolute_path(working_directory)
  initialize_contents
end

Instance Attribute Details

#base_urlString? (readonly)

A url to be used for resolving relative references

Returns:

  • (String, nil)

    the current value of base_url



20
21
22
# File 'lib/openapi3_parser/source_input/raw.rb', line 20

def base_url
  @base_url
end

#raw_inputObject (readonly)

The data for the document

Returns:

  • (Object)

    the current value of raw_input



20
21
22
# File 'lib/openapi3_parser/source_input/raw.rb', line 20

def raw_input
  @raw_input
end

#working_directoryString? (readonly)

A path to be used for resolving relative references

Returns:

  • (String, nil)

    the current value of working_directory



20
21
22
# File 'lib/openapi3_parser/source_input/raw.rb', line 20

def working_directory
  @working_directory
end

Instance Method Details

#==(other) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)

See Also:

  • SourceInput#other


47
48
49
50
51
52
# File 'lib/openapi3_parser/source_input/raw.rb', line 47

def ==(other)
  return false unless other.instance_of?(self.class)
  raw_input == other.raw_input &&
    base_url == other.base_url &&
    working_directory == other.working_directory
end

#inspectObject

return [String]



55
56
57
58
# File 'lib/openapi3_parser/source_input/raw.rb', line 55

def inspect
  %{#{self.class.name}(input: #{raw_input.inspect}, base_url: } +
    %{#{base_url}, working_directory: #{working_directory})}
end

#resolve_next(reference) ⇒ SourceInput

Parameters:

Returns:

See Also:



37
38
39
40
41
42
# File 'lib/openapi3_parser/source_input/raw.rb', line 37

def resolve_next(reference)
  ResolveNext.call(reference,
                   self,
                   base_url: base_url,
                   working_directory: working_directory)
end

#to_sString

Returns:

  • (String)


61
62
63
# File 'lib/openapi3_parser/source_input/raw.rb', line 61

def to_s
  raw_input.to_s
end