[ARVADOS] created: 2908875cc4d8c29a63a7572ddcf10f81f87b57f7

Git user git at public.curoverse.com
Thu Jun 23 12:51:45 EDT 2016


        at  2908875cc4d8c29a63a7572ddcf10f81f87b57f7 (commit)


commit 2908875cc4d8c29a63a7572ddcf10f81f87b57f7
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jun 22 13:41:35 2016 -0400

    9278: Add "default scope" hook to ArvadosBase.

diff --git a/apps/workbench/app/models/arvados_base.rb b/apps/workbench/app/models/arvados_base.rb
index b02db7a..62f1372 100644
--- a/apps/workbench/app/models/arvados_base.rb
+++ b/apps/workbench/app/models/arvados_base.rb
@@ -124,36 +124,40 @@ class ArvadosBase < ActiveRecord::Base
     find(*args) rescue nil
   end
 
+  def self.unscoped
+    ArvadosResourceList.new(self)
+  end
+
   def self.order(*args)
-    ArvadosResourceList.new(self).order(*args)
+    new_resource_list.order(*args)
   end
 
   def self.filter(*args)
-    ArvadosResourceList.new(self).filter(*args)
+    new_resource_list.filter(*args)
   end
 
   def self.where(*args)
-    ArvadosResourceList.new(self).where(*args)
+    new_resource_list.where(*args)
   end
 
   def self.limit(*args)
-    ArvadosResourceList.new(self).limit(*args)
+    new_resource_list.limit(*args)
   end
 
   def self.select(*args)
-    ArvadosResourceList.new(self).select(*args)
+    new_resource_list.select(*args)
   end
 
   def self.distinct(*args)
-    ArvadosResourceList.new(self).distinct(*args)
+    new_resource_list.distinct(*args)
   end
 
   def self.eager(*args)
-    ArvadosResourceList.new(self).eager(*args)
+    new_resource_list.eager(*args)
   end
 
   def self.all
-    ArvadosResourceList.new(self)
+    new_resource_list
   end
 
   def self.permit_attribute_params raw_params
@@ -464,7 +468,20 @@ class ArvadosBase < ActiveRecord::Base
     Thread.current[:user] ||= User.current if Thread.current[:arvados_api_token]
     Thread.current[:user]
   end
+
   def current_user
     self.class.current_user
   end
+
+  def self.set_default_scope &block
+    @default_scope_block = block
+  end
+
+  set_default_scope do
+    ArvadosResourceList.new(self)
+  end
+
+  def self.new_resource_list
+    @default_scope_block.call
+  end
 end

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list