class WebServiceUri::WebServiceUri

Attributes

original_uri[R]
service_name[R]

Public Class Methods

available_services() click to toggle source
# File lib/web_service_uri.rb, line 24
def self.available_services
  @@services.keys
end
new(original_uri) click to toggle source
# File lib/web_service_uri.rb, line 28
def initialize(original_uri)
  @original_uri = original_uri
  @sns_uri = URI.parse(original_uri)
  @service_name = nil

  valid?
end

Public Instance Methods

account_id() click to toggle source
# File lib/web_service_uri.rb, line 54
def account_id
  return nil if @service_name.nil?

  split = @sns_uri.path
              .chomp("/") # remove "/" at the end
              .split("/")

  if @service_name == :linkedin
    split[2]
  else
    split[1]
  end
end
path() click to toggle source
# File lib/web_service_uri.rb, line 36
def path
  if @sns_uri.path[0] === '/'
    copy = @sns_uri.path.dup
    copy.slice!(0)
    copy
  else
    @sns_uri.path
  end
end
valid?() click to toggle source
# File lib/web_service_uri.rb, line 46
def valid?
  @@services.keys.any? do |name|
    is_match = self.send "#{name}?"
    @service_name = name if is_match
    is_match
  end
end