Sha256: ad189a5bc4153b9265e4b59a873f709421b812451a760bcc8e035539261e718c
Contents?: true
Size: 980 Bytes
Versions: 6
Compression:
Stored size: 980 Bytes
Contents
# frozen_string_literal: true module TopsConnect class Configuration attr_reader :subscription_key, :client_id, :software_key, :zone def initialize end def subscription_key=(key) unless key =~ /\A\h{32}\z/i raise 'Invalid TOPS Subscription Key. Expected 32 hex characters.' end @subscription_key = key.downcase end def client_id=(key) unless key =~ /\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/ raise 'Invalid TOPS Client ID. Expected a GUID.' end @client_id = key.upcase end def software_key=(key) unless key =~ /\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/ raise 'Invalid TOPS Software Key. Expected a GUID.' end @software_key = key.upcase end def zone=(new_zone) unless %i(broad limited sandbox).include?(new_zone.to_sym) raise 'Invalid TOPS Zone. Accepted values are broad, limited, sandbox.' end @zone = new_zone.to_sym end end end
Version data entries
6 entries across 6 versions & 1 rubygems