Sha256: 8298582dd4ed5fad606dc5a29f94ec6562387562634836c0344d530d63329da9

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

module Cloudist
  module Utils
    extend self

    def reply_prefix(name)
      "temp.reply.#{name}"
    end

    def log_prefix(name)
      "temp.log.#{name}"
    end

    def stats_prefix(name)
      "temp.stats.#{name}"
    end

    def generate_queue(exchange_name, second_name=nil)
      second_name ||= $$
      "#{generate_name_for_instance(exchange_name)}.#{second_name}"
    end

    def generate_name_for_instance(name)
      "#{name}.#{Socket.gethostname}"
    end
    
    # DEPRECATED
    def generate_reply_to(name)
      "#{reply_prefix(name)}.#{generate_sym}"
    end

    def generate_sym
      values = [
        rand(0x0010000),
        rand(0x0010000),
        rand(0x0010000),
        rand(0x0010000),
        rand(0x0010000),
        rand(0x1000000),
        rand(0x1000000),
      ]
      "%04x%04x%04x%04x%04x%06x%06x" % values
    end
    
    def encode_message(object)
      Marshal.dump(object).to_s
    end
    
    def decode_message(string)
      Marshal.load(string)
    end
    
    def decode_json(string)
      if defined? ActiveSupport::JSON
        ActiveSupport::JSON.decode string
      else
        JSON.load string
      end
    end
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cloudist-0.4.4 lib/cloudist/utils.rb
cloudist-0.4.3 lib/cloudist/utils.rb
cloudist-0.4.2 lib/cloudist/utils.rb
cloudist-0.4.1 lib/cloudist/utils.rb
cloudist-0.2.1 lib/cloudist/utils.rb
cloudist-0.2.0 lib/cloudist/utils.rb