Sha256: 4f00c72d15f8bc456e4d0654bb052c8a76c19c89198345e5e521dc5e17d80134

Contents?: true

Size: 863 Bytes

Versions: 1

Compression:

Stored size: 863 Bytes

Contents

# frozen_string_literal: true

require 'sms77/resources/analytics'
require 'sms77/resources/balance'
require 'sms77/resources/contacts'
require 'sms77/resources/hooks'
require 'sms77/resources/journal'
require 'sms77/resources/lookup'
require 'sms77/resources/pricing'
require 'sms77/resources/sms'
require 'sms77/resources/status'
require 'sms77/resources/subaccounts'
require 'sms77/resources/validate_for_voice'
require 'sms77/resources/voice'
require 'sms77/util'

module Sms77
  class Client
    # @param resource [Sms77::Resource]
    def initialize(resource)
      Sms77::Util::get_namespace_classes(Sms77::Resources).each do |cls|
        name = cls.name.split('::').last

        instance_variable_set("@#{name}", cls.new(resource))

        singleton_class.instance_eval("attr_reader :#{name}")
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sms77-0.5.0 lib/sms77/client.rb