summaryrefslogtreecommitdiff
path: root/app/serializers/diff_file_entity.rb
diff options
context:
space:
mode:
authorClement Ho <clemmakesapps@gmail.com>2018-02-28 18:40:06 +0000
committerClement Ho <clemmakesapps@gmail.com>2018-02-28 18:40:06 +0000
commit9353c5c780c7af6d6ed3d6c501b155f82debc99c (patch)
tree55d87571798f5ff10ee1431a296f1115251f67e9 /app/serializers/diff_file_entity.rb
parentc287c01821c4db4830dbdd5263907f08c2ed4cc4 (diff)
parente2638c3ff2714e5efd4bc54e64555fc564c84af1 (diff)
downloadgitlab-ce-pipelines_show_refactor.tar.gz
Merge branch 'master' into 'pipelines_show_refactor'pipelines_show_refactor
# Conflicts: # config/webpack.config.js
Diffstat (limited to 'app/serializers/diff_file_entity.rb')
-rw-r--r--app/serializers/diff_file_entity.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/app/serializers/diff_file_entity.rb b/app/serializers/diff_file_entity.rb
new file mode 100644
index 00000000000..6e68d275047
--- /dev/null
+++ b/app/serializers/diff_file_entity.rb
@@ -0,0 +1,41 @@
+class DiffFileEntity < Grape::Entity
+ include DiffHelper
+ include SubmoduleHelper
+ include BlobHelper
+ include IconsHelper
+ include ActionView::Helpers::TagHelper
+
+ expose :submodule?, as: :submodule
+
+ expose :submodule_link do |diff_file|
+ submodule_links(diff_file.blob, diff_file.content_sha, diff_file.repository).first
+ end
+
+ expose :blob_path do |diff_file|
+ diff_file.blob.path
+ end
+
+ expose :blob_icon do |diff_file|
+ blob_icon(diff_file.b_mode, diff_file.file_path)
+ end
+
+ expose :file_path
+ expose :deleted_file?, as: :deleted_file
+ expose :renamed_file?, as: :renamed_file
+ expose :old_path
+ expose :new_path
+ expose :mode_changed?, as: :mode_changed
+ expose :a_mode
+ expose :b_mode
+ expose :text?, as: :text
+
+ expose :old_path_html do |diff_file|
+ old_path = mark_inline_diffs(diff_file.old_path, diff_file.new_path)
+ old_path
+ end
+
+ expose :new_path_html do |diff_file|
+ _, new_path = mark_inline_diffs(diff_file.old_path, diff_file.new_path)
+ new_path
+ end
+end