class Samwise::Client
Public Class Methods
new(api_key: nil, sam_status_key: Samwise::Protocol::SAM_STATUS_KEY)
click to toggle source
# File lib/samwise/client.rb, line 7 def initialize(api_key: nil, sam_status_key: Samwise::Protocol::SAM_STATUS_KEY) @api_key = api_key || ENV['DATA_DOT_GOV_API_KEY'] @sam_status_key = sam_status_key || ENV['SAM_STATUS_KEY'] @client = HTTPClient.new end
Public Instance Methods
duns_is_in_sam?(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 27 def duns_is_in_sam?(duns: nil) response = lookup_duns(duns: duns) parse_response_for_sam_status(response) end
excluded?(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 37 def excluded?(duns: nil) response = lookup_duns(duns: duns) JSON.parse(response.body)["hasKnownExclusion"] == false end
get_duns_info(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 13 def get_duns_info(duns: nil) response = lookup_duns(duns: duns) JSON.parse(response.body) end
get_sam_status(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 32 def get_sam_status(duns: nil) response = lookup_sam_status(duns: duns) JSON.parse(response.body) end
get_vendor_summary(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 18 def get_vendor_summary(duns: nil) response = lookup_duns(duns: duns) { in_sam: parse_response_for_sam_status(response), small_business: small_business?(response) } end
Private Instance Methods
lookup_duns(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 52 def lookup_duns(duns: nil) duns = Samwise::Util.format_duns(duns: duns) @client.get Samwise::Protocol.duns_url(duns: duns, api_key: @api_key) end
lookup_sam_status(duns: nil)
click to toggle source
# File lib/samwise/client.rb, line 57 def lookup_sam_status(duns: nil) duns = Samwise::Util.format_duns(duns: duns) @client.get Samwise::Protocol.sam_status_url(duns: duns, api_key: @api_key) end
parse_response_for_sam_status(response)
click to toggle source
# File lib/samwise/client.rb, line 44 def parse_response_for_sam_status(response) response.status == 200 end
small_business?(response)
click to toggle source
# File lib/samwise/client.rb, line 48 def small_business?(response) Samwise::DunsLookup.new(response).small_business? end