Sha256: 515a6fb2861dc28bcc75496d1b85e93c4b4aea189a120869e97825cb127c465b

Contents?: true

Size: 784 Bytes

Versions: 2

Compression:

Stored size: 784 Bytes

Contents

require 'drb'
require 'yaml'

module Adaptation

  class Oapdaemon

    def initialize subscriber_uri, mom_uri, topics
      @subscriber_uri = subscriber_uri
      @mom_uri = mom_uri
      @topics = topics
    end

    def call_adaptor message, topic
      if ( (@topics.include?(topic)) or (@topics == "all") )
        system("ruby public/dispatch.rb #{message}") 
      end
      puts "#{topic} => #{message}"
    end

    def subscription_result subscribed
      if subscribed
        puts "Subscribed to mom (#{@mom_uri}). Listening at #{@subscriber_uri}"
      end
    end

    def start
      DRb.start_service(@subscriber_uri, self)

      mom = DRbObject.new(nil, @mom_uri)
      mom.subscribe @subscriber_uri

      DRb.thread.join # Don't exit just yet!
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adaptation-0.0.1 lib/adaptation/oapdaemon.rb
adaptation-0.0.2 lib/adaptation/oapdaemon.rb