Class: SamtrafikenAPI::Stationinfo

Inherits:
APIBase
  • Object
show all
Defined in:
lib/samtrafiken_api/stationinfo.rb

Overview

Samtrafiken Stationsinfo API.

Documentation: http://www.trafiklab.se/api/samtrafiken-stationsinfo

Examples:

@si = SamtrafikenAPI::StationsInfo.new('MY-API-KEY')
result = @si.stations
#=> [...]

See Also:

  • stationsinfo_spec.rb for details of how to use this class.

Instance Attribute Summary

Attributes inherited from APIBase

#response

Instance Method Summary collapse

Methods inherited from APIBase

#initialize, #read_response

Constructor Details

This class inherits a constructor from SamtrafikenAPI::APIBase

Instance Method Details

#category(id, query = {}) ⇒ Array

Parameters:

  • id (Integer)

    the category ID.

  • query (Hash) (defaults to: {})

    query keys and values.

Returns:

  • (Array)

    an array of all station objects.



39
40
41
42
# File 'lib/samtrafiken_api/stationinfo.rb', line 39

def category id, query = {}
  @response = self.class.get("/category/#{id}.json", :query => query)
  read_response(@response)
end

#image(id) ⇒ String

Endpoint: Image

Documentation: http://www.trafiklab.se/api/samtrafiken-stationsinfo/bilder

@todo: the images endpoint is currently broken and doesn't return valid image data. This method has not been successfully tested.

Parameters:

  • id (Integer)

    the image ID.

Returns:

  • (String)

    image data.



64
65
66
67
# File 'lib/samtrafiken_api/stationinfo.rb', line 64

def image id
  query = URI.encode_www_form self.class.default_params
  open("#{self.class.base_uri}/images/#{id}.json?#{query}") { |f| f.read }
end

#station(id) ⇒ Object

Parameters:

  • id (Integer)

    the station ID.

Returns:

  • (Object)

    a station object.



50
51
52
53
# File 'lib/samtrafiken_api/stationinfo.rb', line 50

def station id
  @response = self.class.get("/stations/#{id}.json")
  read_response(@response)
end

#stations(query = {}) ⇒ Array

Parameters:

  • query (Hash) (defaults to: {})

    query keys and values.

Returns:

  • (Array)

    an array of all station objects.



27
28
29
30
# File 'lib/samtrafiken_api/stationinfo.rb', line 27

def stations query = {}
  @response = self.class.get('/stations.json', :query => query)
  read_response(@response)
end