mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-05 00:02:50 -04:00
25 lines
721 B
Ruby
25 lines
721 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Stripe
|
|
class SingletonAPIResource < APIResource
|
|
def self.resource_url
|
|
if self == SingletonAPIResource
|
|
raise NotImplementedError, "SingletonAPIResource is an abstract class. You should perform actions on its subclasses (Account, etc.)"
|
|
end
|
|
# Namespaces are separated in object names with periods (.) and in URLs
|
|
# with forward slashes (/), so replace the former with the latter.
|
|
"/v1/#{self::OBJECT_NAME.downcase.tr('.', '/')}"
|
|
end
|
|
|
|
def resource_url
|
|
self.class.resource_url
|
|
end
|
|
|
|
def self.retrieve(opts = {})
|
|
instance = new(nil, Util.normalize_opts(opts))
|
|
instance.refresh
|
|
instance
|
|
end
|
|
end
|
|
end
|