projects
/
arvados.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
358d1fd
)
add OrvosBase#dup, offload some filtering to server
author
Tom Clegg <tom@clinicalfuture.com>
Fri, 18 Jan 2013 23:52:13 +0000
(15:52 -0800)
committer
Tom Clegg <tom@clinicalfuture.com>
Fri, 18 Jan 2013 23:52:13 +0000
(15:52 -0800)
app/models/orvos_base.rb
patch
|
blob
|
history
diff --git
a/app/models/orvos_base.rb
b/app/models/orvos_base.rb
index 586a1de1c78a5b6319b458c8a2b2690177f62056..cd31bd4503c134a3f99a6a124911c18a8eb67083 100644
(file)
--- a/
app/models/orvos_base.rb
+++ b/
app/models/orvos_base.rb
@@
-30,11
+30,10
@@
class OrvosBase < ActiveRecord::Base
new(api('/' + uuid))
end
def self.where(cond)
- all.select do |o|
- 0 == cond.select do |k,v|
- o.send(k) != v
- end.size
- end
+ self.unpack_api_response(self.api '', {
+ _method: 'GET',
+ where: cond
+ })
end
def save
obdata = {}
@@
-110,8
+109,18
@@
class OrvosBase < ActiveRecord::Base
end
@all_metadata = nil
end
+ def dup
+ super.forget_uuid!
+ end
protected
+
+ def forget_uuid!
+ self.uuid = nil
+ @etag = nil
+ self
+ end
+
def self.api(action, data=nil, o={})
dataargs = []
if !data.nil?