Sha256: 921ec91083d2e621a350bbbd130d633c5a401a41b717221b25d0f6a017259c38

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

require 'arbetsformedlingen/api/values/matchning_result_values'

module Arbetsformedlingen
  module API
    module MatchningResult
      def self.build(response_data)
        data = response_data.fetch('matchningslista')

        Values::MatchningPage.new(
          list_name: 'annonser',
          total_ads: data.fetch('antal_platsannonser'),
          total_ads_exact: data.fetch('antal_platsannonser_exakta'),
          total_ads_nearby: data.fetch('antal_platsannonser_narliggande'),
          total_vacancies_on_page: data.fetch('antal_platserTotal'),
          total_pages: data.fetch('antal_sidor'),
          raw_data: response_data,
          data: data.fetch('matchningdata').map { |ad_data| build_ad_result(ad_data) }
        )
      end

      def self.build_ad_result(ad_data)
        Values::MatchningAd.new(
          id: ad_data.fetch('annonsid'),
          title: ad_data.fetch('annonsrubrik'),
          occupation: ad_data.fetch('yrkesbenamning'),
          occupation_id: ad_data.fetch('yrkesbenamningId'),
          company: ad_data.fetch('arbetsplatsnamn'),
          municipalities: ad_data.fetch('kommunnamn'),
          municipality_id: ad_data.fetch('kommunkod'),
          published_at: ad_data.fetch('publiceraddatum'),
          last_application_at: ad_data.fetch('sista_ansokningsdag'),
          url: ad_data.fetch('annonsurl'),
          relevance: ad_data.fetch('relevans'),
          total_vacancies: ad_data.fetch('antalplatser'),
          total_vacancies_with_visa: ad_data.fetch('antalPlatserVisa'),
          duration_id: ad_data.fetch('varaktighetId'),
          counties: ad_data.fetch('lan'),
          country_id: ad_data.fetch('lanid'),
          employment_type: ad_data.fetch('anstallningstyp')
        )
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
arbetsformedlingen-0.4.1 lib/arbetsformedlingen/api/results/matchning_result.rb
arbetsformedlingen-0.4.0 lib/arbetsformedlingen/api/results/matchning_result.rb
arbetsformedlingen-0.3.0 lib/arbetsformedlingen/api/results/matchning_result.rb