module Polyseerio::URL

Functions and constants used for formatting and building resource URIs.

Constants

RoutableResources

Resources that are mapped to environments.

Public Class Methods

get_base_url(base, protocol, version) click to toggle source

Generate a base API url.

# File lib/url_builder.rb, line 24
def self.get_base_url(base, protocol, version)
  version ||= Constant::DEFAULT_API_VERSION

  "#{protocol}#{base}/#{version}"
end
get_resource_path(resource, options = {}) click to toggle source

Get a resource's path.

# File lib/url_builder.rb, line 31
def self.get_resource_path(resource, options = {})
  environment = ''

  if routable_resource? resource
    if !options.include?(:eid) || options[:eid].nil?
      raise ArgumentError, 'Cannot get routable resource path for'\
        " #{resource} without passing an eid to options."
    end

    environment = format('environments/%s/', options[:eid])
  end

  id = if options.include?(:id) && !options[:id].nil?
         format('/%s', options[:id])
       else
         ''
       end

  format('/%s%s%s', environment, resource, id)
end
routable_resource?(resource) click to toggle source

Determine if a resource is routable to an environment.

# File lib/url_builder.rb, line 19
def self.routable_resource?(resource)
  RoutableResources.include? resource
end