module ReeDao::DatasetExtensions::InstanceMethods
def put_with_conflict(entity, conflict_opts = {})
def put_with_conflict(entity, conflict_opts = {}) raw = opts[:schema_mapper].db_dump(entity) remove_null_primary_key(raw) if conflict_opts.key?(:update) && conflict_opts[:update].empty? conflict_opts.delete(:update) elsif conflict_opts[:update].is_a?(Array) update = {} conflict_opts[:update].each do |column| update[column] = raw[column] end conflict_opts[:update] = update end key = insert_conflict(conflict_opts).insert(raw) set_entity_primary_key(entity, raw, key) set_persistence_state(entity, raw) where(primary_key => key).first end