2019-02-15 15:39:39 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
module Gitlab
|
|
|
|
module Diff
|
|
|
|
module Formatters
|
|
|
|
class ImageFormatter < BaseFormatter
|
|
|
|
attr_reader :width
|
|
|
|
attr_reader :height
|
|
|
|
attr_reader :x
|
|
|
|
attr_reader :y
|
|
|
|
|
|
|
|
def initialize(attrs)
|
|
|
|
@x = attrs[:x]
|
|
|
|
@y = attrs[:y]
|
|
|
|
@width = attrs[:width]
|
|
|
|
@height = attrs[:height]
|
|
|
|
|
|
|
|
super(attrs)
|
|
|
|
end
|
|
|
|
|
|
|
|
def key
|
|
|
|
@key ||= super.push(x, y)
|
|
|
|
end
|
|
|
|
|
|
|
|
def complete?
|
2020-03-09 13:42:32 +05:30
|
|
|
[x, y, width, height].all?(&:present?)
|
2018-03-17 18:26:18 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
def to_h
|
|
|
|
super.merge(width: width, height: height, x: x, y: y)
|
|
|
|
end
|
|
|
|
|
|
|
|
def position_type
|
|
|
|
"image"
|
|
|
|
end
|
|
|
|
|
|
|
|
def ==(other)
|
|
|
|
other.is_a?(self.class) &&
|
|
|
|
x == other.x &&
|
2020-03-09 13:42:32 +05:30
|
|
|
y == other.y &&
|
|
|
|
width == other.width &&
|
|
|
|
height == other.height
|
2018-03-17 18:26:18 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|