2018-11-06 04:45:35 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-10-07 04:25:17 +00:00
|
|
|
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-02-17 18:09:00 +00:00
|
|
|
[x, y, width, height].all?(&:present?)
|
2017-10-07 04:25:17 +00:00
|
|
|
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-02-04 15:08:40 +00:00
|
|
|
y == other.y &&
|
|
|
|
width == other.width &&
|
|
|
|
height == other.height
|
2017-10-07 04:25:17 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|