arbetsformedlingen 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf001fbd113b7eb4df3c4bdeddadcc8312bebac3
4
- data.tar.gz: f84d1c4290a6247d68d9acfb203e9f0d75d743f1
3
+ metadata.gz: de52d1aea1cb1c6db49e9fb6b15e7daf49f03bc3
4
+ data.tar.gz: 205869986fc4fe7fd8d17d200e13f3190ba6af56
5
5
  SHA512:
6
- metadata.gz: a01ae66f165038bda632ff287513997347dfbf4d6aee043693915d83d639ce89e2c9fceaa450eb9fc9aa9cec6e6923f6970803c49f9619ec5fdcf5ae23cea22b
7
- data.tar.gz: f0537994a813c53e3f87520159edb0407e24a56fc8ce07b052a29eac55fbde6781d9e9ef33427302ec43bed0e5dc622762ca97c0e18ad5601209ecc56f247fdf
6
+ metadata.gz: a62aca4cce038efba8951e27711a2c4d365dedb85ca0b1848da4e2d929daa02f31b5fcc8f6ac9394f709c0a9e55f32e55fad9fcbe7380ebba1463bcacabad69b
7
+ data.tar.gz: bf9f1546981ebb42a0a64a22f0f0acd46ef56b2ebf5c1eb8a660865f2ee22e55edbde84c2b6feceacaa423b5d4dac60418fd410fb15ce6c47dfd3afeb14722d0
data/README.md CHANGED
@@ -105,7 +105,7 @@ packet = Packet.new(
105
105
  active: true,
106
106
  job_id: 1,
107
107
  number_to_fill: 1,
108
- ssyk_id: '4896'
108
+ occupation: '4896'
109
109
  }
110
110
  )
111
111
 
@@ -8,7 +8,7 @@ en:
8
8
  cin?: "must be a valid 10 character (not counting spaces or dashes) Company Identification Numbers / Organisation Number"
9
9
  drivers_license?: "must be a valid drivers license"
10
10
  url?:: "must be a valid URL"
11
- ssyk_id?: "must be a valid SSYK identifier"
11
+ occupation_code?: "must be a valid OccupationNameID identifier"
12
12
  country_code?: "must be a valid 2 character country code"
13
13
  salary_type?: "must be a valid salary type code"
14
14
  municipality?: "must be a valid municipality code"
@@ -0,0 +1,171 @@
1
+ 2787,Administrativ assistent
2
+ 1482,Alkohol- och drogterapeut
3
+ 1811,Ambulanssjuksköterska
4
+ 5708,Ambulanssjukvårdare
5
+ 1812,Anestesisjuksköterska
6
+ 5728,Arbetsterapeut
7
+ 1546,Arbetsterapibiträde
8
+ 5445,Arkitekt
9
+ 5898,Arkivarie
10
+ 7236,AT-läkare
11
+ 5732,Audionom
12
+ 6280,"Avbytare, jordbruk"
13
+ 5496,Badmästare
14
+ 7371,Badvaktmästare
15
+ 6650,Bangårdsoperatör
16
+ 5701,Barnmorska
17
+ 1434,"Barnmorska, öppen vård/mödravård"
18
+ 5759,Barnsjuksköterska
19
+ 5716,Barnskötare
20
+ 7419,Barnsköterska
21
+ 5711,Behandlingsassistent/Socialpedagog
22
+ 5899,Bibliotekarie
23
+ 5901,Biblioteksassistent
24
+ 5734,Biomedicinsk analytiker
25
+ 6836,Biståndsbedömare/Biståndshandläggare
26
+ 5905,Brandbefäl/Räddningsledare/Insatsledare
27
+ 5567,Brandingenjör
28
+ 562,Brandinspektör
29
+ 5904,Brandman
30
+ 4179,Byggnadsingenjör
31
+ 5586,Byggnadsinspektör
32
+ 5425,"CIO, Chief Information Officer/IT-chef"
33
+ 6731,Cytodiagnostiker
34
+ 5717,Dagbarnvårdare
35
+ 6050,Dansare
36
+ 5769,Dietist
37
+ 5760,Distriktssköterska
38
+ 7262,"Drift- och underhållsingenjör, anläggning"
39
+ 6024,Ekonomiassistent
40
+ 472,"Ekonomibiträde, storhushåll"
41
+ 6367,Ekonomichef
42
+ 5478,Ekonomiföreståndare
43
+ 5718,Elevassistent
44
+ 6412,Elmontör
45
+ 6521,Enhetschef inom social omsorg
46
+ 7305,"Enhetschef, hälso- och sjukvård"
47
+ 5788,Familjerådgivare/Familjeterapeut
48
+ 6812,Fastighetsingenjör
49
+ 5885,Fastighetsskötare/Fastighetsarbetare
50
+ 2386,"Fastighetstekniker/Drifttekniker, fastighet"
51
+ 2059,Flyktingsamordnare/Flyktingkonsulent
52
+ 4791,Fotografassistent
53
+ 253,Fotterapeut/Fotvårdsspecialist
54
+ 5726,Friskvårdskonsult
55
+ 5725,Fritidsledare
56
+ 5727,Fysioterapeut/Sjukgymnast
57
+ 1801,Fältassistent
58
+ 7277,Företagssjuksköterska/Företagssköterska
59
+ 422,Förvaltningsekonom
60
+ 5799,Hemvårdare
61
+ 1595,Hjälpmedelskonsulent
62
+ 7096,Informationsassistent
63
+ 5120,Informationschef/Kommunikationschef
64
+ 3885,Informationssekreterare
65
+ 5915,Inköpare
66
+ 1813,Intensivvårdssjuksköterska
67
+ 2062,Invandrarsekreterare
68
+ 5432,IT-strateg
69
+ 6625,IT-tekniker/Datatekniker
70
+ 340,Karttekniker
71
+ 4294,Kemiingenjör
72
+ 2033,"Klinikchef, tandvård/Verksamhetschef, tandvård"
73
+ 7664,"Kock, storhushåll"
74
+ 6818,Kommundirektör
75
+ 3994,Kommunjurist
76
+ 1893,Kommunsekreterare
77
+ 6304,Konsumentvägledare
78
+ 4136,Kontorsvaktmästare
79
+ 6813,Kostekonom
80
+ 1896,Kultursekreterare
81
+ 5787,Kurator
82
+ 483,Köksbiträde
83
+ 5786,Laboratoriebiträde
84
+ 323,"Laboratorietekniker, kemi"
85
+ 5842,Lagerarbetare
86
+ 5721,Logoped
87
+ 7239,Läkare
88
+ 5967,Läkarsekreterare/Vårdadmin/Medicinsk sekreterare
89
+ 5809,Lärarassistent
90
+ 5715,Lärare i fritidshem/Fritidspedagog
91
+ 5714,Lärare i förskola/Förskollärare
92
+ 7652,"Lärare i grundskolan, årskurs 1-3"
93
+ 7654,"Lärare i grundskolan, årskurs 7-9"
94
+ 7127,Lärare i gymnasiet
95
+ 7128,Lärare i gymnasiet - yrkesämnen
96
+ 7126,Lärare i praktiska och estetiska ämnen
97
+ 7274,"MAS, medicinskt ansvarig sjuksköterska"
98
+ 6096,Medicinteknisk ingenjör
99
+ 5777,Miljö- och hälsoskyddsinspektör
100
+ 5986,Miljöarbetare/Renhållningsarbetare
101
+ 1919,Miljöhandläggare
102
+ 7163,Modersmålslärare/Modersmålspedagog
103
+ 6200,Museiassistent
104
+ 3617,Musikpedagog/Musiklärare
105
+ 6216,Mätningsingenjör/MBK-ingenjör
106
+ 5785,Nutritionist/Näringsfysiolog
107
+ 6361,Obduktionstekniker/Obduktionsassistent
108
+ 2034,"Områdeschef, barnomsorg"
109
+ 2036,"Områdeschef, äldre- och handikappomsorg"
110
+ 7351,Onkologisjuksköterska
111
+ 5781,Operationssjuksköterska
112
+ 5704,Optiker
113
+ 3721,Ortopedtekniker
114
+ 6717,Parkarbetare/Utemiljöarbetare/Miljövärd
115
+ 5546,Personaladministratör/Personalassistent
116
+ 6327,Personalchef/HR-chef
117
+ 6820,Personalsekreterare
118
+ 5798,Personlig assistent
119
+ 5709,Psykolog
120
+ 7292,PTP-psykolog
121
+ 5597,"Receptionist, telefonist"
122
+ 3422,Rektor
123
+ 5233,Räddningschef
124
+ 5784,Röntgensjuksköterska
125
+ 7382,SFI-lärare
126
+ 1774,Sjukhusfysiker
127
+ 1842,Sjukhuskemist
128
+ 5780,"Sjuksköterska, medicin och kirurgi"
129
+ 5783,"Sjuksköterska, psykiatrisk vård"
130
+ 7244,"Sjuksköterska, äldreomsorg och -vård/geriatrik"
131
+ 5707,Sjukvårdsbiträde
132
+ 5840,Skolassistent
133
+ 3423,Skolchef
134
+ 1824,Skolsköterska
135
+ 6196,Skorstensfejare/Sotare
136
+ 500,"Skotarförare, skogsbruk"
137
+ 7298,Skötare
138
+ 1874,Smärtsjuksköterska
139
+ 5234,Socialchef
140
+ 5757,Socialsekreterare
141
+ 7238,Specialistläkare
142
+ 1573,Specialisttandläkare
143
+ 7403,Speciallärare
144
+ 6656,Specialpedagog
145
+ 7237,ST-läkare
146
+ 1253,Studie- och yrkesvägledare
147
+ 464,Städare/Lokalvårdare
148
+ 5587,Städchef
149
+ 2918,Systemadministratör
150
+ 2419,Systemutvecklare/Programmerare
151
+ 5723,Tandhygienist
152
+ 5724,Tandläkare
153
+ 5722,Tandsköterska
154
+ 6121,Tandtekniker
155
+ 5058,Tandvårdsbiträde
156
+ 3199,Teckenspråkstolk/Dövblindtolk
157
+ 5238,"Teknisk chef, kommun"
158
+ 2497,Trafikövervakare
159
+ 727,Turistassistent
160
+ 5241,Turistintendent
161
+ 1111,Tvätteriarbetare/Tvättbiträde
162
+ 7586,"Undersköterska, hemtjänst och äldreboende"
163
+ 7587,"Undersköterska, vård- o specialavd. o mottagning"
164
+ 7138,Universitets- och högskolelektor
165
+ 3630,Utbildningsledare
166
+ 2032,"Verksamhetschef, hälso- och sjukvård"
167
+ 6317,Vårdare/Arbetshandledare/Boendestödjare
168
+ 5797,Vårdbiträde
169
+ 7260,Vägingenjör
170
+ 5871,Väg-och anläggningsarbetare
171
+ 2043,Äldreomsorgschef
@@ -0,0 +1,31 @@
1
+ require 'csv'
2
+
3
+ module Arbetsformedlingen
4
+ class OccupationCode
5
+ CODE_MAP = CSV.read(
6
+ File.expand_path('../../../../data/occupation-codes.csv', __FILE__)
7
+ ).to_h.invert.freeze
8
+ CODES_MAP_INVERTED = CODE_MAP.invert.freeze
9
+
10
+ def self.to_code(name)
11
+ normalized = normalize(name)
12
+ CODE_MAP.fetch(normalized) do
13
+ normalized if CODES_MAP_INVERTED[normalized]
14
+ end
15
+ end
16
+
17
+ def self.valid?(name)
18
+ !to_code(name).nil?
19
+ end
20
+
21
+ def self.normalize(name)
22
+ name.to_s.strip
23
+ end
24
+
25
+ def self.to_form_array(name_only: false)
26
+ return CODE_MAP.to_a unless name_only
27
+
28
+ CODE_MAP.map { |name, _code| [name, name] }
29
+ end
30
+ end
31
+ end
@@ -54,9 +54,8 @@ module Arbetsformedlingen
54
54
  DriversLicenseCode.valid?(value)
55
55
  end
56
56
 
57
- predicate(:ssyk_id?) do |value|
58
- # TODO: Add proper validation
59
- value
57
+ predicate(:occupation_code?) do |value|
58
+ OccupationCode.valid?(value)
60
59
  end
61
60
 
62
61
  predicate(:url?) do |value|
@@ -20,6 +20,9 @@ module Arbetsformedlingen
20
20
  Country = Types::Strict::String.constructor do |string|
21
21
  CountryCode.to_code(string)
22
22
  end
23
+ Occupation = Types::Strict::String.constructor do |string|
24
+ OccupationCode.to_code(string)
25
+ end
23
26
  PositionDuration = Types::Strict::Int
24
27
  DriversLicense = Types::Strict::String.constructor do |value|
25
28
  DriversLicenseCode.to_code(value)
@@ -13,7 +13,7 @@ module Arbetsformedlingen
13
13
  required(:job_id, Types::StrippedString).filled
14
14
  required(:id, Types::StrippedString).filled
15
15
  required(:number_to_fill, Types::Int).filled(gt?: 0)
16
- required(:ssyk_id, Types::Int).filled(:ssyk_id?)
16
+ required(:occupation, Types::Occupation).filled(:occupation_code?)
17
17
  end
18
18
 
19
19
  class Packet < Model
@@ -61,7 +61,7 @@ module Arbetsformedlingen
61
61
  pos.JPPExtension do |jpp|
62
62
  company = position.fetch(:company)
63
63
  jpp.HiringOrgDescription(company.fetch(:description))
64
- jpp.OccupationGroup(code: packet_data.fetch(:ssyk_id), codename: 'OccupationNameID')
64
+ jpp.OccupationGroup(code: packet_data.fetch(:occupation), codename: 'OccupationNameID')
65
65
  end
66
66
  end
67
67
  end
@@ -1,3 +1,3 @@
1
1
  module Arbetsformedlingen
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
@@ -11,6 +11,7 @@ require 'arbetsformedlingen/codes/country_code'
11
11
  require 'arbetsformedlingen/codes/drivers_license_code'
12
12
  require 'arbetsformedlingen/codes/experience_required_code'
13
13
  require 'arbetsformedlingen/codes/municipality_code'
14
+ require 'arbetsformedlingen/codes/occupation_code'
14
15
  require 'arbetsformedlingen/codes/salary_type_code'
15
16
 
16
17
  require 'arbetsformedlingen/models/dry/types'
@@ -53,4 +54,4 @@ module Arbetsformedlingen
53
54
  end
54
55
  end
55
56
 
56
- Arbetsformedlingen.configure
57
+ Arbetsformedlingen.configure
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arbetsformedlingen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Burenstam
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-07 00:00:00.000000000 Z
11
+ date: 2017-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -128,12 +128,14 @@ files:
128
128
  - config/locales/errors.yml
129
129
  - data/country-codes.csv
130
130
  - data/municipality-codes.csv
131
+ - data/occupation-codes.csv
131
132
  - lib/arbetsformedlingen.rb
132
133
  - lib/arbetsformedlingen/client.rb
133
134
  - lib/arbetsformedlingen/codes/country_code.rb
134
135
  - lib/arbetsformedlingen/codes/drivers_license_code.rb
135
136
  - lib/arbetsformedlingen/codes/experience_required_code.rb
136
137
  - lib/arbetsformedlingen/codes/municipality_code.rb
138
+ - lib/arbetsformedlingen/codes/occupation_code.rb
137
139
  - lib/arbetsformedlingen/codes/salary_type_code.rb
138
140
  - lib/arbetsformedlingen/models/application_method.rb
139
141
  - lib/arbetsformedlingen/models/company.rb