Sha256: 5fe652d225fca7793cf582860da29fc15d75857cfca4e90c05e4233d0941dbdc

Contents?: true

Size: 631 Bytes

Versions: 10

Compression:

Stored size: 631 Bytes

Contents

require 'cellect'
require 'cellect/attention'

module Cellect
  module Client
    require 'cellect/client/node_set'
    require 'cellect/client/connection'

    # Sets up the set of server nodes
    def self.node_set
      @node_set ||= NodeSet.new
    end

    def self.connection
      @connection ||= Connection.new
    end

    # Selects a server for a user
    def self.choose_host
      host = node_set.nodes.sample
      host && host['ip']
    end

    # Ensure a previously selected server is still available
    def self.host_exists?(ip)
      node_set.nodes.select{ |node| node['ip'] == ip }.length > 0
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
cellect-client-3.0.2 lib/cellect/client.rb
cellect-client-3.0.1 lib/cellect/client.rb
cellect-client-3.0.0 lib/cellect/client.rb
cellect-client-2.1.1 lib/cellect/client.rb
cellect-client-2.1.0 lib/cellect/client.rb
cellect-client-2.0.1 lib/cellect/client.rb
cellect-client-2.0.0 lib/cellect/client.rb
cellect-client-2.0.0.beta4 lib/cellect/client.rb
cellect-client-2.0.0.beta3 lib/cellect/client.rb
cellect-client-2.0.0.beta2 lib/cellect/client.rb