module Grape::Middleware::VersionerHelpers

Constants

DEFAULT_PARAMETER
DEFAULT_PATTERN

Public Instance Methods

cascade?() click to toggle source

By default those errors contain an ‘X-Cascade` header set to `pass`, which allows nesting and stacking of routes (see Grape::Router) for more information). To prevent this behavior, and not add the `X-Cascade` header, one can set the `:cascade` option to `false`.

# File lib/grape/middleware/versioner_helpers.rb, line 50
def cascade?
  version_options[:cascade]
end
default_options() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 9
def default_options
  {
    versions: nil,
    prefix: nil,
    mount_path: nil,
    pattern: DEFAULT_PATTERN,
    version_options: {
      strict: false,
      cascade: true,
      parameter: DEFAULT_PARAMETER
    }
  }
end
error_headers() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 62
def error_headers
  cascade? ? { Grape::Http::Headers::X_CASCADE => 'pass' } : {}
end
mount_path() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 31
def mount_path
  options[:mount_path]
end
parameter_key() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 54
def parameter_key
  version_options[:parameter]
end
pattern() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 35
def pattern
  options[:pattern]
end
potential_version_match?(potential_version) click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 66
def potential_version_match?(potential_version)
  versions.blank? || versions.any? { |v| v.to_s == potential_version }
end
prefix() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 27
def prefix
  options[:prefix]
end
strict?() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 43
def strict?
  version_options[:strict]
end
vendor() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 58
def vendor
  version_options[:vendor]
end
version_not_found!() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 70
def version_not_found!
  throw :error, status: 404, message: '404 API Version Not Found', headers: { Grape::Http::Headers::X_CASCADE => 'pass' }
end
version_options() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 39
def version_options
  options[:version_options]
end
versions() click to toggle source
# File lib/grape/middleware/versioner_helpers.rb, line 23
def versions
  options[:versions]
end