class Swagger::Template::Endpoint

Attributes

classes[R]
dirname[R]
filename[R]
full_path[R]
parameters[R]
path[R]
snakecases[R]
summary[R]
verb[R]

Public Class Methods

new(spec, path, verb) click to toggle source
# File lib/swagger/template/endpoint.rb, line 9
def initialize(spec, path, verb)
  @spec = spec
  @path = path
  @verb = verb
  extract_summary
  extract_full_path
  determine_classes
  determine_snakecases
  determine_filename
  determine_dirname
  determine_required_parameters
end

Public Instance Methods

to_h() click to toggle source
# File lib/swagger/template/endpoint.rb, line 22
def to_h
  {
    verb: verb,
    path: path,
    summary: summary,
    full_path: full_path,
    classes: classes,
    filename: filename,
    dirname: dirname,
    parameters: parameters
  }
end

Private Instance Methods

determine_classes() click to toggle source
# File lib/swagger/template/endpoint.rb, line 45
def determine_classes
  @classes = path.split('/').drop(1).map do |chunk|
    chunk.split('-').map(&:capitalize).join('')
  end
end
determine_dirname() click to toggle source
# File lib/swagger/template/endpoint.rb, line 63
def determine_dirname
  @dirname = filename.split('/').reverse.drop(1).reverse.join('/')
end
determine_filename() click to toggle source
# File lib/swagger/template/endpoint.rb, line 57
def determine_filename
  @filename = path.split('/').drop(1).map do |chunk|
    chunk.gsub('-', '_')
  end.join('/')
end
determine_required_parameters() click to toggle source
# File lib/swagger/template/endpoint.rb, line 67
def determine_required_parameters
  @parameters = @spec['paths'][path][verb]['parameters'].select do |param|
    param['required']
  end
end
determine_snakecases() click to toggle source
# File lib/swagger/template/endpoint.rb, line 51
def determine_snakecases
  @snakecases = path.split('/').drop(1).map do |chunk|
    chunk.gsub('-', '_')
  end
end
extract_full_path() click to toggle source
# File lib/swagger/template/endpoint.rb, line 41
def extract_full_path
  @full_path =  "#{@spec['basePath']}#{path}"
end
extract_summary() click to toggle source
# File lib/swagger/template/endpoint.rb, line 37
def extract_summary
  @summary = @spec['paths'][path][verb]['summary']
end