Sha256: 54009120e4164bec7ea6f717722b59a0e1f1b55aff97dd2d7b97d3bbe71808a5

Contents?: true

Size: 747 Bytes

Versions: 11

Compression:

Stored size: 747 Bytes

Contents

# frozen_string_literal: true

module BBK
  module App
    class Dispatcher
      class Route

        attr_reader :uri, :scheme, :domain, :routing_key

        # Example: mq://gw@service.smev.request
        def initialize(string)
          @uri = URI(string)
          @scheme = uri.scheme
          @domain = uri.user
          @routing_key = "#{uri.host}#{uri.path}"

          # raise 'domain must present in route' if @domain.blank?
          raise 'routing_key must present in route' if @routing_key.blank?
        end

        def to_s
          @uri.to_s
        end

        def ==(other)
          if other.is_a?(String)
            to_s == other
          else
            super
          end
        end

      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
bbk-app-1.1.0.199389 lib/bbk/app/dispatcher/route.rb
bbk-app-1.1.0.199383 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.152254 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.141716 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.80957 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.79514 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.79241 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.78020 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.72920 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.72917 lib/bbk/app/dispatcher/route.rb
bbk-app-1.0.0.72899 lib/bbk/app/dispatcher/route.rb