Class: WestfieldSwagger::ApiSpecification

Inherits:
Object
  • Object
show all
Defined in:
lib/westfield_swagger/api_specification.rb

Defined Under Namespace

Classes: SpecificationMissing, SpecificationParseError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version, context, request, env_prefix = "") ⇒ ApiSpecification

Returns a new instance of ApiSpecification.



8
9
10
11
12
13
# File 'lib/westfield_swagger/api_specification.rb', line 8

def initialize(version, context, request, env_prefix = "")
  @version = version
  @context = context
  @request = request
  @env_version = "#{env_prefix}#{version}"
end

Instance Attribute Details

#env_versionObject (readonly)

Returns the value of attribute env_version.



15
16
17
# File 'lib/westfield_swagger/api_specification.rb', line 15

def env_version
  @env_version
end

#versionObject (readonly)

Returns the value of attribute version.



15
16
17
# File 'lib/westfield_swagger/api_specification.rb', line 15

def version
  @version
end

Instance Method Details

#readObject



17
18
19
# File 'lib/westfield_swagger/api_specification.rb', line 17

def read
  read_json || read_directory || read_yaml || swagger_specifications_not_found
end

#swagger_api_hostObject



21
22
23
24
25
26
27
28
# File 'lib/westfield_swagger/api_specification.rb', line 21

def swagger_api_host
  return ENV['API_HOST_URL'] if ENV['API_HOST_URL'].present?

  # Do not specify the port if it's standard HTTP/HTTPS
  return request.host if [80, 443].include?(request.port)

  request.host_with_port
end