Module: ResponseUtil
- Defined in:
- lib/ps_pop_client/tools/response_util.rb
Class Method Summary collapse
- .compare_zipcodes(a, b) ⇒ Object
- .filter_by_zipcodes(a_for, a_against) ⇒ Object
- .filter_records(req, response) ⇒ Object
- .should_filter?(cbsa_ids_array, cbsa_id, res_zipcodes, req_zipcodes) ⇒ Boolean
Class Method Details
.compare_zipcodes(a, b) ⇒ Object
30 31 32 |
# 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) ⇒ Object
2 3 4 5 6 7 8 |
# 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) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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) ⇒ Boolean
25 26 27 28 |
# 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 |