Class: OpenapiBlocks::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_blocks/configuration.rb,
lib/openapi_blocks/configuration/info_builder.rb,
lib/openapi_blocks/configuration/server_builder.rb,
lib/openapi_blocks/configuration/contact_builder.rb,
lib/openapi_blocks/configuration/license_builder.rb,
lib/openapi_blocks/configuration/servers_builder.rb,
lib/openapi_blocks/configuration/security_builder.rb

Overview

rubocop:disable Style/Documentation

Defined Under Namespace

Classes: ContactBuilder, InfoBuilder, LicenseBuilder, SecurityBuilder, ServerBuilder, ServersBuilder

Constant Summary collapse

SUPPORTED_VERSIONS =
%w[3.1.0 3.0.3].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



14
15
16
17
18
19
20
# File 'lib/openapi_blocks/configuration.rb', line 14

def initialize
  @openapi_version = "3.1.0"
  @watch           = :development
  @info            = InfoBuilder.new
  @servers         = []
  @security        = nil
end

Instance Attribute Details

#openapi_versionObject

Returns the value of attribute openapi_version.



11
12
13
# File 'lib/openapi_blocks/configuration.rb', line 11

def openapi_version
  @openapi_version
end

#watchObject

Returns the value of attribute watch.



12
13
14
# File 'lib/openapi_blocks/configuration.rb', line 12

def watch
  @watch
end

Instance Method Details

#info(&block) ⇒ Object



31
32
33
34
# File 'lib/openapi_blocks/configuration.rb', line 31

def info(&block)
  @info.instance_eval(&block) if block
  @info
end

#security(&block) ⇒ Object



42
43
44
45
46
# File 'lib/openapi_blocks/configuration.rb', line 42

def security(&block)
  @security ||= SecurityBuilder.new
  @security.instance_eval(&block) if block
  @security
end

#servers(&block) ⇒ Object



36
37
38
39
40
# File 'lib/openapi_blocks/configuration.rb', line 36

def servers(&block)
  builder = ServersBuilder.new
  builder.instance_eval(&block) if block
  @servers = builder.servers
end

#to_hObject



48
49
50
51
52
53
# File 'lib/openapi_blocks/configuration.rb', line 48

def to_h
  {
    info:    @info.to_h,
    servers: @servers.map(&:to_h)
  }
end