Gares - A gem to interact with French train Stations

Build Status Gem Version Coverage Status


The Gares gem allows you to easily access publicly available data from It can also retrieve data from for live train information.


Gares currently features the following:

  • Search for a station
  • Retrieve station information
  • Search for a train to get live information about it



g ="frlpd")
#=> "Lyon Part Dieu"

#=> true

#=> true
#=> "Services à la clientèle"

[, g.long]
#=> [45.760281, 4.859801]

See the Gares::Base class documentation for all available data on a station.


g ="Aix")

#=> 7

# or

stations ="lyon")
station = stations.last
#=> "Paris Gare de Lyon"

Train information:

train =,

#=> #<Gares::Station:0x000f0000000000 @slug="frpst", @name="Paris Est">

#=> 2015-04-25 06:42:00 +0200

#=> 12

#=> false
#=> "Culmont - Chalindrey"

#=> "B"

See the Gares::Train class documentation for all available data on a train.


gem install gares

Or if you want to use it in a project add this to your Gemfile:

gem "gares"

Running Tests

As this gem uses external content from and, the test suite uses a set of pre-defined fixture files in spec/fixtures. These fixtures are copies of and pages used in tests.

Run bundle install to install all dependencies, including fakeweb, which will serve the fixture files instead of doing actual requests to or

$ bundle install

Next, simple run rake to run the entire test suite.

Running against real data

It's possible to run the test suite directly against or This has two disadvantages:

  1. Tests will be slow
  2. Running tests often will probably get you into trouble, see Disclaimer.

    $ LIVE_TEST=true rake

If you want to run against actual data, it's better to just update the fixture files once with up-to-date content:

$ rake fixtures:refresh

Warning: this will probably break some tests, in particular the live train information tests.

When you run the test suite now, it will use the updated fixture files.


Neither I, nor any developer who contributed to this project, accept any kind of liability for your use of this library. and certainly does not permit use of its data by third parties without their consent.

Using this library for anything other than limited personal use may result in an IP ban to the or website.

This gem is not endorsed or affiliated with, nor SNCF, Inc.