module Miteru::Mixins::URL
Constants
- IGNORE_EXTENSIONS
Public Instance Methods
breakdown(url, enable_directory_traveling)
click to toggle source
Breakdown a URL
into URLs
@param [String] url @param [Boolean] enable_directory_traveling
@return [Array<String>]
# File lib/miteru/mixin.rb, line 25 def breakdown(url, enable_directory_traveling) begin uri = URI.parse(url) rescue URI::InvalidURIError => _e return [] end base = "#{uri.scheme}://#{uri.hostname}" return [base] unless enable_directory_traveling segments = uri.path.split("/") return [base] if segments.length.zero? urls = (0...segments.length).map { |idx| "#{base}#{segments[0..idx].join("/")}" } urls.reject do |breakdowned_url| # Reject a url which ends with specific extension names invalid_extension? breakdowned_url end end
invalid_extension?(url)
click to toggle source
Validate extension of a URL
@param [String] url
@return [Boolean]
# File lib/miteru/mixin.rb, line 13 def invalid_extension?(url) IGNORE_EXTENSIONS.any? { |ext| url.end_with? ext } end