Class: OasCore::Builders::ParameterBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/oas_core/builders/parameter_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(specification) ⇒ ParameterBuilder

Returns a new instance of ParameterBuilder.



6
7
8
9
# File 'lib/oas_core/builders/parameter_builder.rb', line 6

def initialize(specification)
  @specification = specification
  @parameter = Spec::Parameter.new(specification)
end

Instance Method Details

#buildObject



26
27
28
# File 'lib/oas_core/builders/parameter_builder.rb', line 26

def build
  @parameter
end

#extract_word_before(string, param) ⇒ Object



20
21
22
23
24
# File 'lib/oas_core/builders/parameter_builder.rb', line 20

def extract_word_before(string, param)
  regex = %r{/([\w-]+)/\{#{param}\}}
  match = string.match(regex)
  match ? match[1] : ''
end

#from_path(path, param) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/oas_core/builders/parameter_builder.rb', line 11

def from_path(path, param)
  @parameter.name = param
  @parameter.in = 'path'
  @parameter.description = "#{param.split('_')[-1].titleize} of existing #{extract_word_before(path,
                                                                                               param).singularize}."

  self
end