From f80fe4fbc152fb17000d4ad0342303b694e35139 Mon Sep 17 00:00:00 2001 From: ruidajo Date: Tue, 30 Jan 2024 12:50:17 -0500 Subject: [PATCH] Refactoring URL checking. --- Instagram/InstagramUrl.class.st | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Instagram/InstagramUrl.class.st b/Instagram/InstagramUrl.class.st index 26ca0f6..b6a2b5a 100644 --- a/Instagram/InstagramUrl.class.st +++ b/Instagram/InstagramUrl.class.st @@ -14,16 +14,9 @@ Class { { #category : #'instance creation' } InstagramUrl class >> newURL: url [ - | instance urlCheck | + | instance | instance := self new. - (url includesSubstring: 'instagram.com') - ifFalse: [ UIManager default inform: '" ', url, ' " it''s not an instagram URL.'. - ^ self new ]. - urlCheck := url asUrl. - urlCheck hasHost ifFalse: [ urlCheck host: urlCheck segments first. - urlCheck removeFirstPathSegment. ]. - urlCheck hasScheme ifFalse: [ urlCheck scheme: 'https' ]. - instance url: urlCheck . + instance url: (instance urlCheck: url). ^ instance ] @@ -54,6 +47,19 @@ InstagramUrl >> url: aURL [ url := aURL ] +{ #category : #testing } +InstagramUrl >> urlCheck: aURL [ + | urlCheck | + (aURL includesSubstring: 'instagram.com') + ifFalse: [ UIManager default inform: '" ', aURL, ' " it''s not an instagram URL.'. + ^ self url]. + urlCheck := aURL asUrl. + urlCheck hasHost ifFalse: [ urlCheck host: urlCheck segments first. + urlCheck removeFirstPathSegment. ]. + urlCheck hasScheme ifFalse: [ urlCheck scheme: 'https' ]. + ^ urlCheck +] + { #category : #accessing } InstagramUrl >> urlWithoutTracking [ ^ self url queryRemoveAll; asStringOrText