module Shippo::API::Extend::Url

Public Class Methods

class_to_url() click to toggle source
# File lib/shippo/api/extend/url.rb, line 16
def class_to_url
  words = self.short_name.underscore.split(/_/)
  words.map { |w| "/#{w == words.last ? w.pluralize : w}" }.join
end
included(klass) click to toggle source
# File lib/shippo/api/extend/url.rb, line 5
def self.included(klass)
  klass.instance_eval do
    @url = nil
    class << self
      # It's a getter and a class-level setter
      def url(value = nil)
        return @url if @url
        @url ||= value if value
        @url ||= class_to_url
      end

      def class_to_url
        words = self.short_name.underscore.split(/_/)
        words.map { |w| "/#{w == words.last ? w.pluralize : w}" }.join
      end
    end
  end
end
url(value = nil) click to toggle source

It's a getter and a class-level setter

# File lib/shippo/api/extend/url.rb, line 10
def url(value = nil)
  return @url if @url
  @url ||= value if value
  @url ||= class_to_url
end