Sha256: a4746d8b8871f8b310aae3163ff14422313627245336f22d483503b04995c9cb

Contents?: true

Size: 812 Bytes

Versions: 9

Compression:

Stored size: 812 Bytes

Contents

require 'ivapi/configuration'
require 'ivapi/authentication'

require 'ivapi/client/base'
require 'ivapi/client/account'
require 'ivapi/client/server'

module Ivapi
  class Client
    include Ivapi::Authentication
    include Ivapi::Configuration

    attr_reader *Ivapi::Configuration.keys

    def initialize(options = {})
      # Use options passed in, but fall back to module defaults
      Ivapi::Configuration.keys.each do |key|
        instance_variable_set(
          :"@#{key}", options[key] || Ivapi.instance_variable_get(:"@#{key}")
        )
      end
    end

    def account
      Ivapi::Client::Account.new(self)
    end

    def server(server_id = @server_id)
      Ivapi::Client::Server.new(self, server_id)
    end

    def same_options?(opts)
      opts.hash == options.hash
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ivapi-1.1.8 lib/ivapi/client.rb
ivapi-1.1.7 lib/ivapi/client.rb
ivapi-1.1.6 lib/ivapi/client.rb
ivapi-1.1.5 lib/ivapi/client.rb
ivapi-1.1.4 lib/ivapi/client.rb
ivapi-1.1.3 lib/ivapi/client.rb
ivapi-1.1.2 lib/ivapi/client.rb
ivapi-1.1.1 lib/ivapi/client.rb
ivapi-1.1.0 lib/ivapi/client.rb