Method: Uptrace::DSN#initialize
- Defined in:
- lib/uptrace/dsn.rb
#initialize(dsn) ⇒ DSN
Returns a new instance of DSN.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/uptrace/dsn.rb', line 8 def initialize(dsn) raise ArgumentError, "DSN can't be empty" if dsn.empty? begin uri = URI.parse(dsn) rescue URI::InvalidURIError => e raise ArgumentError, %(can't parse DSN=#{dsn.inspect}: #{e}) end @dsn = dsn @scheme = uri.scheme @host = uri.host @http_port = uri.port @token = uri.user %w[scheme host].each do |k| v = public_send(k) raise ArgumentError, %(DSN=#{dsn.inspect} does not have a #{k}) if v.nil? || v.empty? end @host = 'uptrace.dev' if @host == 'api.uptrace.dev' end |