class TntFuelAdjustmentCoefficients

Public Class Methods

new() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 7
def initialize
  @road_multiplier = extracted_values.first
  @air_multiplier  = extracted_values.last(3).first
end

Public Instance Methods

air_multiplier() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 28
def air_multiplier
  return unless @road_multiplier

  format_multiplier @air_multiplier.last.to_s
end
road_multiplier() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 22
def road_multiplier
  return unless @air_multiplier

  format_multiplier @road_multiplier.last.to_s
end
time_period() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 16
def time_period
  return unless @road_multiplier

  @road_multiplier.first.to_s.strip
end
url() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 12
def url
  "https://www.tnt.com/express/fr_fr/site/home/comment-expedier/facturation/surcharges/baremes-et-historiques.html"
end

Private Instance Methods

extracted_values() click to toggle source

[

[" novembre 2018 ",  "12,10%"],
["octobre 2018 ",    "11,95%"],
[" septembre 2018 ", "11,95%"],
[" novembre 2018 ",  "18,50%"],
["octobre 2018 ",    "17,50%"],
[" septembre 2018 ", "17,50%"]

]

# File lib/tnt_fuel_adjustment_coefficients.rb, line 50
def extracted_values
  @extracted_values ||=
    response.to_s
            .scan(/Surcharge d[e']+(.*): (.*)<br>$/)
end
format_multiplier(string) click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 56
def format_multiplier(string)
  string.tr!("%", "")
  string.tr!(",", ".")

  number = (string.to_f / 100 + 1).round(4)
  BigDecimal(number.to_s)
end
response() click to toggle source
# File lib/tnt_fuel_adjustment_coefficients.rb, line 36
def response
  ::HTTP.timeout(10).get(url)
rescue HTTP::Error
  ''
end