module ResponseUtil
Public Class Methods
compare_zipcodes(a, b)
click to toggle source
# File lib/ps_pop_client/tools/response_util.rb, line 30 def self.compare_zipcodes(a, b) (a&b).size > 0 end
filter_by_zipcodes(a_for, a_against)
click to toggle source
# File lib/ps_pop_client/tools/response_util.rb, line 2 def self.filter_by_zipcodes(a_for, a_against) return [] if !a_for.kind_of?(Array) || a_for.count == 0 result = a_for.select do |e| a_against.include?(e) end return result end
filter_records(req,response)
click to toggle source
# File lib/ps_pop_client/tools/response_util.rb, line 10 def self.filter_records(req,response) return response unless req[:zip_codes].kind_of?(Array) res_body = JSON.parse(response.body) records = res_body["data"]["records"] records.each do |record| if self.should_filter?(req[:cbsa_ids], record["cbsa_id"],record["zip_code"], req[:zip_codes]) record["zip_code"] = self.filter_by_zipcodes(record["zip_code"], req[:zip_codes]) end end res_body["data"]["records"] = records res_body["data"]["count"] = records.length response.body = JSON.generate(res_body) return response end
should_filter?(cbsa_ids_array, cbsa_id, res_zipcodes,req_zipcodes)
click to toggle source
# File lib/ps_pop_client/tools/response_util.rb, line 25 def self.should_filter?(cbsa_ids_array, cbsa_id, res_zipcodes,req_zipcodes) cbsa_ids = !cbsa_ids_array ? [] : cbsa_ids_array !(cbsa_ids.include? cbsa_id.to_i) && self.compare_zipcodes(res_zipcodes,req_zipcodes) end