Method: Wildcloud::Git::Core#initialize
- Defined in:
- lib/wildcloud/git/core.rb
#initialize ⇒ Core
Returns a new instance of Core.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/wildcloud/git/core.rb', line 25 def initialize Git.logger.info('Core', 'Starting') # Define basic variables @access = {} @keys = {} # Connect to AMQP Git.logger.info('Core', 'Connecting to broker') @amqp = AMQP.connect(Git.configuration['amqp']) Git.logger_add_amqp(@amqp) # Communication infrastructure @channel = AMQP::Channel.new(@amqp) @topic = @channel.topic('wildcloud.git') @queue = @channel.queue("wildcloud.git.#{Git.configuration['node']['name']}") @queue.bind(@topic, :routing_key => 'nodes') @queue.bind(@topic, :routing_key => "node.#{Git.configuration['node']['name']}") # Request synchronization Git.logger.info('Core', 'Requesting synchronization') publish({ :node => Git.configuration['node']['name'], :type => :sync }) # Listen for task @queue.subscribe do |, | handle(, ) end end |