Sha256: ed30758d883d92cfea291a024ef0d60e931e06911a4a422cac7e56a1ac9da970

Contents?: true

Size: 558 Bytes

Versions: 3

Compression:

Stored size: 558 Bytes

Contents

# frozen_string_literal: true

module Helio
  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
      "/#{CGI.escape(class_name.downcase)}"
    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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
helio-ruby-0.3.1 lib/helio/singleton_api_resource.rb
helio-ruby-0.3.0 lib/helio/singleton_api_resource.rb
helio-ruby-0.2.0 lib/helio/singleton_api_resource.rb