module Business::BR::Shipping

Constants

API_HOST
API_PROVIDER
VERSION

Public Class Methods

tracking(shipping_code) click to toggle source
# File lib/business-br/shipping.rb, line 15
def tracking(shipping_code)
  return nil unless shipping_code

  response = HTTP.get("#{API_HOST}/#{API_PROVIDER}/#{shipping_code}")
  payload = JSON.parse(response.body.to_s)

  code, provider, activities = payload.values_at('codigo', 'servico', 'historico')

  {
    code: code,
    provider: provider,
    activities: activities_serializer(activities)
  }
end

Private Class Methods

activities_serializer(activities) click to toggle source
# File lib/business-br/shipping.rb, line 32
def activities_serializer(activities)
  activities.map do |activity|
    location, date, status, description = activity.values_at(
      'local', 'data', 'situacao', 'detalhes'
    )

    { location: location, date: date, status: status, description: description }
  end
end