arbetsformedlingen 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/config/locales/errors.yml +1 -1
- data/data/occupation-codes.csv +171 -0
- data/lib/arbetsformedlingen/codes/occupation_code.rb +31 -0
- data/lib/arbetsformedlingen/models/dry/predicates.rb +2 -3
- data/lib/arbetsformedlingen/models/dry/types.rb +3 -0
- data/lib/arbetsformedlingen/models/packet.rb +1 -1
- data/lib/arbetsformedlingen/output_builder.rb +1 -1
- data/lib/arbetsformedlingen/version.rb +1 -1
- data/lib/arbetsformedlingen.rb +2 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: de52d1aea1cb1c6db49e9fb6b15e7daf49f03bc3
|
|
4
|
+
data.tar.gz: 205869986fc4fe7fd8d17d200e13f3190ba6af56
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a62aca4cce038efba8951e27711a2c4d365dedb85ca0b1848da4e2d929daa02f31b5fcc8f6ac9394f709c0a9e55f32e55fad9fcbe7380ebba1463bcacabad69b
|
|
7
|
+
data.tar.gz: bf9f1546981ebb42a0a64a22f0f0acd46ef56b2ebf5c1eb8a660865f2ee22e55edbde84c2b6feceacaa423b5d4dac60418fd410fb15ce6c47dfd3afeb14722d0
|
data/README.md
CHANGED
data/config/locales/errors.yml
CHANGED
|
@@ -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
|
-
|
|
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(:
|
|
58
|
-
|
|
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(:
|
|
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(:
|
|
64
|
+
jpp.OccupationGroup(code: packet_data.fetch(:occupation), codename: 'OccupationNameID')
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
data/lib/arbetsformedlingen.rb
CHANGED
|
@@ -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.
|
|
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-
|
|
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
|