From: Tim Pierce Date: Fri, 7 Feb 2014 22:22:43 +0000 (-0500) Subject: Adding 'is_searchable' status for tables which should be full-text searchable. X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/d8fc47b4db91246f56bd3b94e19f3f109c968aa3 Adding 'is_searchable' status for tables which should be full-text searchable. --- diff --git a/services/api/app/models/arvados_model.rb b/services/api/app/models/arvados_model.rb index 4f2aa72161..5cbfd58bd0 100644 --- a/services/api/app/models/arvados_model.rb +++ b/services/api/app/models/arvados_model.rb @@ -45,6 +45,13 @@ class ArvadosModel < ActiveRecord::Base end.compact end + # is_searchable returns 'true' if a model is subject to full-text + # search through the workbench. Models which are searchable should + # return true. + def is_searchable + false + end + def eager_load_associations self.class.columns.each do |col| re = col.name.match /^(.*)_kind$/ diff --git a/services/api/app/models/collection.rb b/services/api/app/models/collection.rb index 03e5e4ef44..c6ecee38fd 100644 --- a/services/api/app/models/collection.rb +++ b/services/api/app/models/collection.rb @@ -8,6 +8,10 @@ class Collection < ArvadosModel t.add :files end + def is_searchable + true + end + def redundancy_status if redundancy_confirmed_as.nil? 'unconfirmed' diff --git a/services/api/app/models/group.rb b/services/api/app/models/group.rb index 9666257ea4..7a1c9fbb97 100644 --- a/services/api/app/models/group.rb +++ b/services/api/app/models/group.rb @@ -7,4 +7,8 @@ class Group < ArvadosModel t.add :name t.add :description end + + def is_searchable + true + end end diff --git a/services/api/app/models/human.rb b/services/api/app/models/human.rb index 3717f81c8f..a87a041cf1 100644 --- a/services/api/app/models/human.rb +++ b/services/api/app/models/human.rb @@ -7,4 +7,8 @@ class Human < ArvadosModel api_accessible :user, extend: :common do |t| t.add :properties end + + def is_searchable + true + end end diff --git a/services/api/app/models/job.rb b/services/api/app/models/job.rb index f32f001f90..7c06142559 100644 --- a/services/api/app/models/job.rb +++ b/services/api/app/models/job.rb @@ -38,6 +38,10 @@ class Job < ArvadosModel t.add :log_buffer end + def is_searchable + true + end + def assert_finished update_attributes(finished_at: finished_at || Time.now, success: success.nil? ? false : success, diff --git a/services/api/app/models/job_task.rb b/services/api/app/models/job_task.rb index 7d568e952a..03310cc88b 100644 --- a/services/api/app/models/job_task.rb +++ b/services/api/app/models/job_task.rb @@ -17,6 +17,10 @@ class JobTask < ArvadosModel t.add :success end + def is_searchable + true + end + protected def delete_created_job_tasks_if_failed diff --git a/services/api/app/models/link.rb b/services/api/app/models/link.rb index 1d4e13d186..3c701bf58f 100644 --- a/services/api/app/models/link.rb +++ b/services/api/app/models/link.rb @@ -29,6 +29,10 @@ class Link < ArvadosModel super end + def is_searchable + true + end + protected def permission_to_attach_to_objects diff --git a/services/api/app/models/log.rb b/services/api/app/models/log.rb index 29efc9dc11..3e523959df 100644 --- a/services/api/app/models/log.rb +++ b/services/api/app/models/log.rb @@ -16,6 +16,10 @@ class Log < ArvadosModel t.add :info end + def is_searchable + true + end + protected def set_default_event_at diff --git a/services/api/app/models/pipeline_instance.rb b/services/api/app/models/pipeline_instance.rb index 43497da6f4..5df8756197 100644 --- a/services/api/app/models/pipeline_instance.rb +++ b/services/api/app/models/pipeline_instance.rb @@ -21,6 +21,10 @@ class PipelineInstance < ArvadosModel t.add :properties end + def is_searchable + true + end + def dependencies dependency_search(self.components).keys end diff --git a/services/api/app/models/specimen.rb b/services/api/app/models/specimen.rb index bcfcd7a5f2..37de071519 100644 --- a/services/api/app/models/specimen.rb +++ b/services/api/app/models/specimen.rb @@ -9,6 +9,10 @@ class Specimen < ArvadosModel t.add :properties end + def is_searchable + true + end + def properties @properties ||= Hash.new super diff --git a/services/api/app/models/trait.rb b/services/api/app/models/trait.rb index 85ab2368a8..ff3db80e25 100644 --- a/services/api/app/models/trait.rb +++ b/services/api/app/models/trait.rb @@ -8,4 +8,8 @@ class Trait < ArvadosModel t.add :name t.add :properties end + + def is_searchable + true + end end