diff --git a/server/app/models/frontend_router.rb b/server/app/models/frontend_router.rb index 6b1ccf321..5fab3cd08 100644 --- a/server/app/models/frontend_router.rb +++ b/server/app/models/frontend_router.rb @@ -8,11 +8,13 @@ def initialize(id_type, id, domain) end def url - (entity, query_field) = query_info + (entity, query_field, transform) = query_info if [entity, query_field, id].any? { |i| i.blank? } nil else - obj = entity.find_by!(query_field => id) + #identity function if none defined + transform ||= -> {_1} + obj = entity.find_by!(query_field => transform.call(id)) adaptor = "LinkAdaptors::#{obj.class}".constantize.new(obj) "#{domain}#{adaptor.base_path}" end @@ -32,7 +34,7 @@ def query_info when /entrez_id/ [ Gene, :entrez_id, ] when /entrez_name/ - [ Gene, :name , ] + [ Gene, :name , -> { _1.upcase }] when /variant_groups?/ [ VariantGroup, :id, ] when /revisions?/