Sha256: 3c396cd11065f2452e7d89df4efe4c3a04b64b7b4fb9dbcdfb6d9cd3886208bf
Contents?: true
Size: 1013 Bytes
Versions: 8
Compression:
Stored size: 1013 Bytes
Contents
# frozen_string_literal: true require 'creditsafe/base_model' require 'creditsafe/models/company' module Creditsafe module Models class Search < BaseModel ENDPOINT = 'companies' attributes :companies def self.find(reg_no, countries = Creditsafe.configuration.countries) result = get(ENDPOINT, regNo: reg_no, countries: countries.join(',')) return nil unless successful_response?(result) build(json: result.body) end def self.where(params = {}) unless params.key?(:countries) countries = Creditsafe.configuration.countries params = params.merge(countries: countries.join(',')) end result = get(ENDPOINT, params) return nil unless successful_response?(result) build(json: result.body) end def self.build(json:) super.tap do |record| record.companies = json.fetch(:companies, []).map { |c| Company.build(json: c) } end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems