Module: BlablaClient
- Defined in:
- lib/blabla_client.rb,
lib/blabla_client/version.rb
Constant Summary collapse
- CURRENT_TOKEN =
Note : token expiration is ignored for now (current token expires on 02/07/2015) PREVIOUS_TOKEN = ‘eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MjY0MjY5NTUsImNsaWVudCI6ImE3NzM3ODdhNmI2YjM0NzlhMjk5NTg0MDUwMmUwNDZkNGE0NDNjYmE2MDFjMDk2Y2U1NGI4OTcyYjRkZTdjNzkiLCJzY29wZSI6IiIsInVzZXIiOm51bGx9.dOZF0wbZtW6_Vfa5dU6_X831yGCJlsSZE7gkdp2lldg’
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0MzU4MjY2MTEsImNsaWVudCI6ImE3NzM3ODdhNmI2YjM0NzlhMjk5NTg0MDUwMmUwNDZkNGE0NDNjYmE2MDFjMDk2Y2U1NGI4OTcyYjRkZTdjNzkiLCJzY29wZSI6IiIsInVzZXIiOm51bGx9.sKV1CsDpwsPSAeX61ifKlycrKw7NHlFFGC1Z7Rl8DBg'
- VERSION =
"0.0.4"
Class Method Summary collapse
- .available_trips(departure, arrival, date_range_start, date_range_end, page = 1) ⇒ Object
- .config ⇒ Object
-
.configure(opts = {}) ⇒ Object
Configure through hash.
- .normalize_date(date) ⇒ Object
Class Method Details
.available_trips(departure, arrival, date_range_start, date_range_end, page = 1) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/blabla_client.rb', line 36 def self.available_trips(departure, arrival, date_range_start, date_range_end, page = 1) trips = [] range_start = normalize_date(date_range_start) range_end = normalize_date(date_range_end) begin response = get_response(departure, arrival, range_start, range_end, page) trips = Trip.parse_response(response.body) @logger.info("Retrieved #{trips[:trips].length} trips for page #{page} of request #{departure}-#{arrival} from #{range_start} to #{range_end}") rescue OAuth2::Error => e http_code = e.response.status @logger.error("An error occurred while calling the API on #{@config[:api_url]}") @logger.error("Response : #{e.response}") @logger.error("Code : #{e.code}") @logger.error("HTTP status code : #{http_code}") @logger.error("Description : #{e.description}") if http_code == 403 @logger.info('Token seems to have expired - Retrying with a new one') trips = renew_and_get_trips(departure, arrival, range_start, range_end, page) end end trips end |
.config ⇒ Object
32 33 34 |
# File 'lib/blabla_client.rb', line 32 def self.config @config end |
.configure(opts = {}) ⇒ Object
Configure through hash
28 29 30 |
# File 'lib/blabla_client.rb', line 28 def self.configure(opts = {}) opts.each {|k,v| @config[k.to_sym] = v if @valid_config_keys.include? k.to_sym} end |
.normalize_date(date) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/blabla_client.rb', line 59 def self.normalize_date(date) if date.is_a?(Date) || date.is_a?(DateTime) || date.is_a?(Time) date_as_object = date else date_as_object = Date.parse(date) end date_as_object.strftime('%d-%m-%Y') end |