From 32a7041030dcb95d9476b3cbcc5d3c036aae81f3 Mon Sep 17 00:00:00 2001
From: Douwe Maan <douwe@selenight.nl>
Date: Wed, 22 Feb 2017 15:36:16 -0600
Subject: [PATCH] ActiveSupport delegation is preferred over Forwardable

---
 app/models/concerns/cache_markdown_field.rb | 9 +++++----
 lib/gitlab/git/repository.rb                | 2 --
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/app/models/concerns/cache_markdown_field.rb b/app/models/concerns/cache_markdown_field.rb
index 6dc8c88a14d..8ea95beed79 100644
--- a/app/models/concerns/cache_markdown_field.rb
+++ b/app/models/concerns/cache_markdown_field.rb
@@ -11,14 +11,15 @@ module CacheMarkdownField
   # Knows about the relationship between markdown and html field names, and
   # stores the rendering contexts for the latter
   class FieldData
-    extend Forwardable
-
     def initialize
       @data = {}
     end
 
-    def_delegators :@data, :[], :[]=
-    def_delegator :@data, :keys, :markdown_fields
+    delegate :[], :[]=, to: :@data
+
+    def markdown_fields
+      @data.keys
+    end
 
     def html_field(markdown_field)
       "#{markdown_field}_html"
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb
index e1fabff4e29..d1dd3da5ed2 100644
--- a/lib/gitlab/git/repository.rb
+++ b/lib/gitlab/git/repository.rb
@@ -1,5 +1,4 @@
 # Gitlab::Git::Repository is a wrapper around native Rugged::Repository object
-require 'forwardable'
 require 'tempfile'
 require 'forwardable'
 require "rubygems/package"
@@ -7,7 +6,6 @@ require "rubygems/package"
 module Gitlab
   module Git
     class Repository
-      extend Forwardable
       include Gitlab::Git::Popen
 
       SEARCH_CONTEXT_LINES = 3
-- 
GitLab