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 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