class Nexmo::OAS::Renderer::Presenters::Versions
Public Class Methods
new(definition_name)
click to toggle source
# File lib/nexmo/oas/renderer/presenters/versions.rb, line 8 def initialize(definition_name) @definition_name = definition_name end
Public Instance Methods
available_versions()
click to toggle source
# File lib/nexmo/oas/renderer/presenters/versions.rb, line 23 def available_versions @available_versions ||= begin matches = definitions.select do |definition| definition.match(/^#{base_name}(\.v\d+)?$/) && !definition.include?("#{base_name}/") end matches = matches.map do |definition| m = /\.v(\d+)/.match(definition) next { 'version' => '1', 'name' => definition } unless m { 'version' => m[1], 'name' => definition } end matches.sort_by { |v| v['version'] } end end
base_name()
click to toggle source
# File lib/nexmo/oas/renderer/presenters/versions.rb, line 12 def base_name @base_name ||= @definition_name.gsub(/\.v\d+/, '') end
current_version()
click to toggle source
# File lib/nexmo/oas/renderer/presenters/versions.rb, line 16 def current_version @current_version ||= begin m = /\.v(\d+)/.match(@definition_name) m.nil? ? '1' : m[1] end end
definitions()
click to toggle source
# File lib/nexmo/oas/renderer/presenters/versions.rb, line 40 def definitions @definitions ||= begin Dir.glob("#{API.oas_path}/**/*.yml").map do |file| file.sub("#{API.oas_path}/", '').chomp('.yml') end end end