Difference between revisions of "Ruby"

From Open Rail Data Wiki
Jump to navigation Jump to search
m (Adding header)
Line 3: Line 3:
 
== Simple Ruby script ==
 
== Simple Ruby script ==
 
Here is a very simple Ruby script to get you subscribing to messages, they simply get output to the console.
 
Here is a very simple Ruby script to get you subscribing to messages, they simply get output to the console.
 +
You'll obviously need Ruby installed (I'm using 1.9.3 via RVM) and the stomp ruby gem installed <code>gem install stomp</code>
  
Note that you'll need environment variables set up with DATAFEEDS_USER as your username and DATAFEEDS_PASSWORD as your password - for the datafeeds.networkrail.co.uk site.
+
You will of course, also need to have signed up to the Network Rail datafeed programme and have your login credentials.
 +
Then set up environment variables with DATAFEEDS_USER as your username and DATAFEEDS_PASSWORD as your password.
  
 
  <code>
 
  <code>

Revision as of 21:02, 5 September 2012


Simple Ruby script

Here is a very simple Ruby script to get you subscribing to messages, they simply get output to the console. You'll obviously need Ruby installed (I'm using 1.9.3 via RVM) and the stomp ruby gem installed gem install stomp

You will of course, also need to have signed up to the Network Rail datafeed programme and have your login credentials. Then set up environment variables with DATAFEEDS_USER as your username and DATAFEEDS_PASSWORD as your password.


require 'stomp'

begin
 # Credentials set here as environment variables
 @user = ENV["DATAFEEDS_USER"];
 @password = ENV["DATAFEEDS_PASSWORD"]
 @host = "datafeeds.networkrail.co.uk"
 @port = 61618

 # Example destination add yours here
 @destination = "/topic/TD_ALL_SIG_AREA"

 puts "Connecting to datafeeds as #{@user} using stomp protocol stomp://#{@host}:#{@port}\n"
 @connection = Stomp::Connection.open @user, @password, @host, @port, true
 @connection.subscribe @destination

 while true
   @msg = @connection.receive
   puts @msg
 end
 @connection.disconnect
rescue
end