blob: 302697ff8eb957eadc2f99ab6f1c2d3567f6b9ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# frozen_string_literal: true
module Gitlab
module View
module Presenter
class Factory
def initialize(subject, **attributes)
@subject = subject
@attributes = attributes
end
def fabricate!
presenter_class.new(subject, attributes)
end
private
attr_reader :subject, :attributes
def presenter_class
attributes.delete(:presenter_class) { "#{subject.class.name}Presenter".constantize }
end
end
end
end
end
|