Sha256: 02cdb1d695703bfa5939d553c236837e4a16aff9e39f9269eba4c6b7f74bdd31

Contents?: true

Size: 599 Bytes

Versions: 4

Compression:

Stored size: 599 Bytes

Contents

module Capistrano
  module Cable
    class Bind < Struct.new(:full_address, :kind, :address)
      def unix?
        kind == :unix
      end

      def ssl?
        kind == :ssl
      end

      def tcp
        kind == :tcp || ssl?
      end

      def local
        if unix?
          self
        else
          self.class.new(
            localize_address(full_address),
            kind,
            localize_address(address)
          )
        end
      end

      private

      def localize_address(address)
        address.gsub(/0\.0\.0\.0(.+)/, "127.0.0.1\\1")
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
capistrano-cable-0.1.3 lib/capistrano/cable/bind.rb
capistrano-cable-0.1.2 lib/capistrano/cable/bind.rb
capistrano-cable-0.1.1 lib/capistrano/cable/bind.rb
capistrano-cable-0.1.0 lib/capistrano/cable/bind.rb