module Camper::UrlUtils

Defines methods related to url operations.

Public Class Methods

basecamp_url?(url) click to toggle source
# File lib/camper/url_utils.rb, line 6
def self.basecamp_url?(url)
  return false if url.nil? || !url.is_a?(String) || url == ''

  transformed_url = UrlUtils.transform(url)

  transformed_url.match?(%r{#{Configuration.base_api_endpoint}/\d+/.*})
end
transform(url) click to toggle source

Utility method for transforming Basecamp Web URLs into API URIs e.g '3.basecamp.com/1/buckets/2/todos/3' will be converted into '3.basecampapi.com/1/buckets/2/todos/3.json'

@param url [String] url to test @return [String]

# File lib/camper/url_utils.rb, line 20
def self.transform(url)
  api_url = url.gsub('3.basecamp.com', '3.basecampapi.com')
  api_url.gsub!('.json', '')
  "#{api_url}.json"
end