class ColissimoFuelAdjustmentCoefficients
Excepted XML is like:
<indice_gazole> <cap> <cap_mois> <titre>05-2017</titre> <routier>0,77%</routier> <aerien>0,00%</aerien> </cap_mois> ... </cap> <indice_gazole>
Public Class Methods
new()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 21 def initialize @parsed_values = {} return unless xml_root caps = xml_root.elements.first month = caps.elements.first month.elements.each do |element| @parsed_values[element.name] = element.text end end
Public Instance Methods
air_multiplier()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 40 def air_multiplier format_multiplier @parsed_values["aerien"] end
road_multiplier()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 44 def road_multiplier format_multiplier @parsed_values["routier"] end
time_period()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 36 def time_period @parsed_values["titre"] end
url()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 32 def url "https://www.colissimo.entreprise.laposte.fr/fr/system/files/imagescontent/docs/indice_gazole.xml" end
Private Instance Methods
format_multiplier(value)
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 61 def format_multiplier(value) return unless value value.tr!("%", "") value.tr!(",", ".") number = (value.to_f / 100 + 1).round(4) BigDecimal(number.to_s) end
response()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 50 def response ::HTTP.timeout(10).get(url) rescue HTTP::Error "" end
xml_root()
click to toggle source
# File lib/colissimo_fuel_adjustment_coefficients.rb, line 56 def xml_root doc = Document.new response.to_s doc.root end