2018-03-25 16:15:39 +00:00
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
2018-03-25 17:30:42 +00:00
class SlugCopyNamingAlgorithm < CopyNamingAlgorithm
attr_accessor :klass , :nonprofit_id
# @param [Class] klass
def initialize ( klass , nonprofit_id )
@klass = klass
@nonprofit_id = nonprofit_id
end
def copy_addition
" _copy "
end
def max_copies
30
end
def get_name_for_entity ( name_entity )
name_entity . slug
end
def get_already_used_name_entities ( base_name )
end_name = " \\ _copy \\ _ \\ d{2} "
@klass . method ( :where ) . call ( 'slug SIMILAR TO ? AND nonprofit_id = ? AND (deleted IS NULL OR deleted = false)' , base_name + end_name , nonprofit_id ) . select ( 'slug' )
end
end