Sha256: 9a3426f2f1e03618d842710736fef3582c64f6eb99e918ed42163f8b1b51a017
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true # Copyright (c) 2019 Valencia Management Group # All rights reserved. module TopsConnect class Configuration attr_reader :subscription_key, :client_id, :software_key, :zone def subscription_key=(key) unless key&.match?(/\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&.match?(/\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&.match?(/\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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tops_connect-0.7.2 | lib/tops_connect/configuration.rb |
tops_connect-0.7.1 | lib/tops_connect/configuration.rb |
tops_connect-0.7.0 | lib/tops_connect/configuration.rb |