DEV: Expose a way to extend a method that returns a list

This commit is contained in:
Roman Rizzi
2019-04-08 14:42:36 -03:00
committed by GitHub
parent df1ab9259b
commit aec457e09a
2 changed files with 21 additions and 6 deletions

View File

@ -605,11 +605,15 @@ class Plugin::Instance
end
def register_reviewable_type(reviewable_type_class)
types = Reviewable.types
types << reviewable_type_class.name
extend_list_method Reviewable, :types, [reviewable_type_class.name]
end
def extend_list_method(klass, method, new_attributes)
current_list = klass.send(method)
current_list.concat(new_attributes)
reloadable_patch do
Reviewable.send(:define_singleton_method, :types) { types }
klass.send(:define_singleton_method, method) { current_list }
end
end