Sha256: 93e76c64454b81a84693c14559d694f3d75a28a50d4a358b1953b27200c11ba2

Contents?: true

Size: 743 Bytes

Versions: 24

Compression:

Stored size: 743 Bytes

Contents

# encoding: utf-8

module Punchblock
  module Translator
    class Asterisk
      class Channel < SimpleDelegator
        NORMALIZATION_REGEXP = /^(?<prefix>Bridge\/)*(?<name>[^<>]*)(?<suffix><.*>)*$/.freeze

        def self.new(other)
          other.is_a?(self) ? other : super
        end

        def name
          matchdata[:name]
        end

        def prefix
          matchdata[:prefix]
        end

        def suffix
          matchdata[:suffix]
        end

        def bridged?
          @bridged ||= (prefix || suffix)
        end

        def to_s
          __getobj__
        end

        private

        def matchdata
          @matchdata ||= __getobj__.match(NORMALIZATION_REGEXP)
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
punchblock-2.7.5 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.7.3 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.7.2 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.7.1 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.7.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.6.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.5.3 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.5.2 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.5.1 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.5.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.4.2 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.4.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.3.1 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.3.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.2.2 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.2.1 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.2.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.1.1 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.1.0 lib/punchblock/translator/asterisk/channel.rb
punchblock-2.0.2 lib/punchblock/translator/asterisk/channel.rb