app/models/apidae/selection.rb in apidae-1.2.35 vs app/models/apidae/selection.rb in apidae-1.3.0

- old
+ new

@@ -40,24 +40,10 @@ removed_ids = Obj.where(apidae_id: removed).map {|o| o.id} SelectionObject.where(apidae_selection_id: apidae_sel.id, apidae_object_id: removed_ids).delete_all end - def cleanup - obsolete_count = apidae_selection_objects - .joins("LEFT JOIN apidae_objs ON apidae_objs.id = apidae_selection_objects.apidae_object_id") - .where("apidae_objs.id IS NULL") - .delete_all - logger.info "Cleaned up #{obsolete_count} obsolete selection-objects associations for selection #{apidae_id}" - - dups = apidae_selection_objects.reload.group(:apidae_object_id) - .select("COUNT(id), apidae_object_id, ARRAY_AGG(id) AS so_ids") - .having("COUNT(id) > ?", 1).map {|so| so.so_ids} - dups_count = apidae_selection_objects.where(id: dups.map {|d| d.sort[1..-1]}.flatten).delete_all - logger.info "Cleaned up #{dups_count} duplicate selection-objects associations for selection #{apidae_id}" - end - def results(where_clause, offset, size) objects.includes(:town).limit(size).offset(offset).where(where_clause) end def total(where_clause) @@ -104,22 +90,20 @@ def api_object(apidae_obj_id, fields = ["@all"]) query_args = build_args(OBJECTS_ENDPOINT, {obj_ids: [apidae_obj_id], fields: fields}) query_api(query_args, true, false) end - # Note : WARNING - updated obj will only contain the provided fields def add_or_refresh_obj(apidae_obj_id, fields = ["@all"]) if valid_api? res = api_object(apidae_obj_id, fields) if res[:results] && res[:results].length == 1 obj_data = res[:results].first.deep_symbolize_keys add_or_refresh(obj_data) end end end - # Note : WARNING - updated objs will only contain the provided fields def add_or_refresh_objs(fields = ["@all"]) if valid_api? res = api_objects({fields: fields}) if res[:results] && res[:results].length > 0 res[:results].each do |result| @@ -217,10 +201,10 @@ end def get_response(args) response = '' query = JSON.generate args.except(:url) - logger.debug "Apidae API query : #{args[:url]}?query=#{query}" + logger.info "Apidae API query : #{args[:url]}?query=#{query}" open("#{args[:url]}?query=#{CGI.escape query}") { |f| f.each_line {|line| response += line if line} } response end