Method: Og::SqlStore#reload
- Defined in:
- lib/og/store/sql.rb
#reload(obj, pk) ⇒ Object
Reloads an object from the store. Returns nil if the passes pk is nil.
171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/og/store/sql.rb', line 171 def reload(obj, pk) return nil unless pk klass = obj.class raise 'Cannot reload unmanaged object' unless obj.saved? sql = "SELECT * FROM #{klass.table} WHERE #{pk_field klass}=#{quote(pk)}" sql << " AND ogtype='#{klass}'" if klass.schema_inheritance_child? res = query sql obj.og_read(res.next, 0) ensure res.close if res end |