stripe-ruby/lib/stripe/singleton_api_resource.rb

27 lines
763 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 (Balance, etc.)"
end
# Namespaces are separated in object names with periods (.) and in URLs
# with forward slashes (/), so replace the former with the latter.
"/v1/#{object_name.downcase.tr('.', '/')}"
end
def resource_url
self.class.resource_url
end
def self.retrieve(params = {}, opts = {})
instance = new(params, Util.normalize_opts(opts))
instance.refresh
instance
end
end
end