Sha256: f495618aa1e75307ece56bc0a1ad58424efd7d234ab83c8577c67129ed863142
Contents?: true
Size: 1.2 KB
Versions: 4
Compression:
Stored size: 1.2 KB
Contents
# frozen_string_literal: true module TopsConnect class Configuration attr_reader :subscription_key, :client_id, :software_key, :community_api_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 community_api_key=(key) unless key =~ /\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/ raise 'Invalid TOPS Community API Key. Expected a GUID.' end @community_api_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
4 entries across 4 versions & 1 rubygems