class Recras::Itinerary

links to 'programma' in the API recras.github.io/docs/endpoints/arrangementen.html

Attributes

description[RW]

@note The is a required parameter.

duration[RW]
end_time[RW]
json[RW]
quantity[RW]
quantity_type[RW]
start_time[RW]

Public Class Methods

attribute_mapping() click to toggle source

translates the mapping between the Recras API and the terms used in this gem

# File lib/recras/itinerary.rb, line 65
def self.attribute_mapping
  [["omschrijving", "description"], ["aantal", "quantity"], ["wat", "quantity_type"], ["begin", "start_time"], ["duur", "duration"], ["eind", "end_time"]]
end
new(args=nil) click to toggle source

Initializer to transform a Hash into an Client object

@param [Hash] args

# File lib/recras/itinerary.rb, line 19
def initialize(args=nil)
  required_args = []
  return if args.nil?
  args.each do |k,v|
    instance_variable_set("@#{k}", v) unless v.nil?
  end
end
plural_name() click to toggle source
# File lib/recras/itinerary.rb, line 59
def self.plural_name
  "itineraries"
end

Public Instance Methods

duration_hours() click to toggle source
# File lib/recras/itinerary.rb, line 36
def duration_hours
  begin
    duration.split("PT").last.split("H").first.to_i
  rescue
    nil
  end
end
duration_minutes() click to toggle source
# File lib/recras/itinerary.rb, line 44
def duration_minutes
  begin
    duration.split("H").last.split("M").first.to_i
  rescue
    nil
  end
end
duration_seconds() click to toggle source
# File lib/recras/itinerary.rb, line 52
def duration_seconds
  begin
    duration.split("M").last.split("S").first.to_i
  rescue
    nil
  end
end
duration_string() click to toggle source
# File lib/recras/itinerary.rb, line 32
def duration_string
  "#{duration_hours.to_s.rjust(2, '0')}:#{duration_minutes.to_s.rjust(2, '0')}:#{duration_seconds.to_s.rjust(2, '0')}"
end
to_s() click to toggle source

outputs a nice readable itinerary

# File lib/recras/itinerary.rb, line 28
def to_s
  "#{description} - #{quantity} #{quantity_type} (#{duration_string})"
end