spec/support/versioned_helpers.rb in grape-0.19.0 vs spec/support/versioned_helpers.rb in grape-0.19.1
- old
+ new
@@ -1,50 +1,55 @@
# Versioning
+module Spec
+ module Support
+ module Helpers
+ # Returns the path with options[:version] prefixed if options[:using] is :path.
+ # Returns normal path otherwise.
+ def versioned_path(options = {})
+ case options[:using]
+ when :path
+ File.join('/', options[:prefix] || '', options[:version], options[:path])
+ when :param
+ File.join('/', options[:prefix] || '', options[:path])
+ when :header
+ File.join('/', options[:prefix] || '', options[:path])
+ when :accept_version_header
+ File.join('/', options[:prefix] || '', options[:path])
+ else
+ raise ArgumentError.new("unknown versioning strategy: #{options[:using]}")
+ end
+ end
-# Returns the path with options[:version] prefixed if options[:using] is :path.
-# Returns normal path otherwise.
-def versioned_path(options = {})
- case options[:using]
- when :path
- File.join('/', options[:prefix] || '', options[:version], options[:path])
- when :param
- File.join('/', options[:prefix] || '', options[:path])
- when :header
- File.join('/', options[:prefix] || '', options[:path])
- when :accept_version_header
- File.join('/', options[:prefix] || '', options[:path])
- else
- raise ArgumentError.new("unknown versioning strategy: #{options[:using]}")
- end
-end
+ def versioned_headers(options)
+ case options[:using]
+ when :path
+ {} # no-op
+ when :param
+ {} # no-op
+ when :header
+ {
+ 'HTTP_ACCEPT' => [
+ "application/vnd.#{options[:vendor]}-#{options[:version]}",
+ options[:format]
+ ].compact.join('+')
+ }
+ when :accept_version_header
+ {
+ 'HTTP_ACCEPT_VERSION' => options[:version].to_s
+ }
+ else
+ raise ArgumentError.new("unknown versioning strategy: #{options[:using]}")
+ end
+ end
-def versioned_headers(options)
- case options[:using]
- when :path
- {} # no-op
- when :param
- {} # no-op
- when :header
- {
- 'HTTP_ACCEPT' => [
- "application/vnd.#{options[:vendor]}-#{options[:version]}",
- options[:format]
- ].compact.join('+')
- }
- when :accept_version_header
- {
- 'HTTP_ACCEPT_VERSION' => options[:version].to_s
- }
- else
- raise ArgumentError.new("unknown versioning strategy: #{options[:using]}")
+ def versioned_get(path, version_name, version_options = {})
+ path = versioned_path(version_options.merge(version: version_name, path: path))
+ headers = versioned_headers(version_options.merge(version: version_name))
+ params = {}
+ if version_options[:using] == :param
+ params = { version_options[:parameter] => version_name }
+ end
+ get path, params, headers
+ end
+ end
end
-end
-
-def versioned_get(path, version_name, version_options = {})
- path = versioned_path(version_options.merge(version: version_name, path: path))
- headers = versioned_headers(version_options.merge(version: version_name))
- params = {}
- if version_options[:using] == :param
- params = { version_options[:parameter] => version_name }
- end
- get path, params, headers
end