summaryrefslogtreecommitdiff
path: root/lib/gitlab
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-02-08 12:43:58 +0000
committerRémy Coutable <remy@rymai.me>2017-02-08 12:43:58 +0000
commit0fc474291eb84a8a128baea743c54ec661c2d44b (patch)
treeb2ddf56e23ecdeb8ab3018272869961731ac9803 /lib/gitlab
parent40704daad839b7a9744b8d9c9ebc82e56ac452a1 (diff)
parente217bb21a6c87b8599cb0ba1636928c2bd0ca814 (diff)
downloadgitlab-ce-0fc474291eb84a8a128baea743c54ec661c2d44b.tar.gz
Merge branch 'feature/gb/paginated-environments-api' into 'master'
Expose paginated environments list API endpoint See merge request !8928
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/serializer/ci/variables.rb (renamed from lib/gitlab/serialize/ci/variables.rb)2
-rw-r--r--lib/gitlab/serializer/pagination.rb36
2 files changed, 37 insertions, 1 deletions
diff --git a/lib/gitlab/serialize/ci/variables.rb b/lib/gitlab/serializer/ci/variables.rb
index 3a9443bfcd9..c059c454eac 100644
--- a/lib/gitlab/serialize/ci/variables.rb
+++ b/lib/gitlab/serializer/ci/variables.rb
@@ -1,5 +1,5 @@
module Gitlab
- module Serialize
+ module Serializer
module Ci
# This serializer could make sure our YAML variables' keys and values
# are always strings. This is more for legacy build data because
diff --git a/lib/gitlab/serializer/pagination.rb b/lib/gitlab/serializer/pagination.rb
new file mode 100644
index 00000000000..bf2c0acc729
--- /dev/null
+++ b/lib/gitlab/serializer/pagination.rb
@@ -0,0 +1,36 @@
+module Gitlab
+ module Serializer
+ class Pagination
+ class InvalidResourceError < StandardError; end
+ include ::API::Helpers::Pagination
+
+ def initialize(request, response)
+ @request = request
+ @response = response
+ end
+
+ def paginate(resource)
+ if resource.respond_to?(:page)
+ super(resource)
+ else
+ raise InvalidResourceError
+ end
+ end
+
+ private
+
+ # Methods needed by `API::Helpers::Pagination`
+ #
+
+ attr_reader :request
+
+ def params
+ @request.query_parameters
+ end
+
+ def header(header, value)
+ @response.headers[header] = value
+ end
+ end
+ end
+end