arbetsformedlingen 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/.ruby-style-guide.yml +270 -0
  4. data/.travis.yml +0 -1
  5. data/CHANGELOG.md +12 -0
  6. data/Gemfile +2 -0
  7. data/LICENSE.txt +1 -1
  8. data/README.md +1 -1
  9. data/Rakefile +2 -0
  10. data/arbetsformedlingen.gemspec +10 -9
  11. data/bin/console +1 -0
  12. data/lib/arbetsformedlingen/api/client.rb +48 -30
  13. data/lib/arbetsformedlingen/api/ledigtarbete_client.rb +6 -1
  14. data/lib/arbetsformedlingen/api/matchning_client.rb +16 -10
  15. data/lib/arbetsformedlingen/api/request.rb +10 -13
  16. data/lib/arbetsformedlingen/api/response.rb +71 -0
  17. data/lib/arbetsformedlingen/api/results/ad_result.rb +36 -18
  18. data/lib/arbetsformedlingen/api/results/matchning_result.rb +42 -3
  19. data/lib/arbetsformedlingen/api/results/soklista_result.rb +16 -2
  20. data/lib/arbetsformedlingen/api/soap_request.rb +11 -10
  21. data/lib/arbetsformedlingen/api/values/ad_result_values.rb +6 -1
  22. data/lib/arbetsformedlingen/api/values/create_ad_page.rb +3 -1
  23. data/lib/arbetsformedlingen/api/values/matchning_result_values.rb +9 -1
  24. data/lib/arbetsformedlingen/api/values/soklista_values.rb +17 -1
  25. data/lib/arbetsformedlingen/api/ws_occupation_client.rb +26 -1
  26. data/lib/arbetsformedlingen/codes/country_code.rb +3 -1
  27. data/lib/arbetsformedlingen/codes/drivers_license_code.rb +6 -3
  28. data/lib/arbetsformedlingen/codes/experience_required_code.rb +3 -1
  29. data/lib/arbetsformedlingen/codes/municipality_code.rb +3 -1
  30. data/lib/arbetsformedlingen/codes/occupation_code.rb +3 -1
  31. data/lib/arbetsformedlingen/codes/salary_type_code.rb +3 -1
  32. data/lib/arbetsformedlingen/key_struct.rb +5 -3
  33. data/lib/arbetsformedlingen/models/application_method.rb +3 -1
  34. data/lib/arbetsformedlingen/models/company.rb +2 -2
  35. data/lib/arbetsformedlingen/models/document.rb +4 -2
  36. data/lib/arbetsformedlingen/models/dry/predicates.rb +2 -0
  37. data/lib/arbetsformedlingen/models/dry/types.rb +5 -3
  38. data/lib/arbetsformedlingen/models/model.rb +2 -0
  39. data/lib/arbetsformedlingen/models/packet.rb +3 -1
  40. data/lib/arbetsformedlingen/models/packet_xml_builder.rb +8 -3
  41. data/lib/arbetsformedlingen/models/position.rb +5 -3
  42. data/lib/arbetsformedlingen/models/publication.rb +3 -1
  43. data/lib/arbetsformedlingen/models/qualification.rb +3 -1
  44. data/lib/arbetsformedlingen/models/salary.rb +3 -1
  45. data/lib/arbetsformedlingen/models/schedule.rb +4 -2
  46. data/lib/arbetsformedlingen/soap_builder.rb +3 -1
  47. data/lib/arbetsformedlingen/version.rb +3 -1
  48. metadata +43 -25
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
4
  PositionSchema = Dry::Validation.Params do
3
5
  configure do
4
6
  config.type_specs = true
5
- config.messages_file = File.expand_path('../../../../config/locales/errors.yml', __FILE__)
7
+ config.messages_file = File.expand_path('../../../config/locales/errors.yml', __dir__) # rubocop:disable Metrics/LineLength
6
8
 
7
9
  predicates(Predicates)
8
10
  end
@@ -20,7 +22,7 @@ module Arbetsformedlingen
20
22
  end
21
23
 
22
24
  class Position < Model
23
- def initialize(attributes:, company:, schedule:, salary:, qualifications:, application_method:)
25
+ def initialize(attributes:, company:, schedule:, salary:, qualifications:, application_method:) # rubocop:disable Metrics/LineLength
24
26
  hash = attributes
25
27
  @company = company
26
28
  @schedule = schedule
@@ -49,7 +51,7 @@ module Arbetsformedlingen
49
51
  [
50
52
  address.fetch(:street),
51
53
  address.fetch(:zip),
52
- address[:city]
54
+ address[:city],
53
55
  ].compact.join(', ')
54
56
  end
55
57
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
4
  PublicationSchema = Dry::Validation.Params do
3
5
  configure do
4
6
  config.type_specs = true
5
- config.messages_file = File.expand_path('../../../../config/locales/errors.yml', __FILE__)
7
+ config.messages_file = File.expand_path('../../../config/locales/errors.yml', __dir__)
6
8
 
7
9
  predicates(Predicates)
8
10
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
4
  QualificationSchema = Dry::Validation.Params do
3
5
  configure do
4
6
  config.type_specs = true
5
- config.messages_file = File.expand_path('../../../../config/locales/errors.yml', __FILE__)
7
+ config.messages_file = File.expand_path('../../../config/locales/errors.yml', __dir__)
6
8
 
7
9
  predicates(Predicates)
8
10
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
4
  SalarySchema = Dry::Validation.Params do
3
5
  configure do
4
6
  config.type_specs = true
5
- config.messages_file = File.expand_path('../../../../config/locales/errors.yml', __FILE__)
7
+ config.messages_file = File.expand_path('../../../config/locales/errors.yml', __dir__)
6
8
 
7
9
  predicates(Predicates)
8
10
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
4
  ScheduleSchema = Dry::Validation.Params do
3
5
  configure do
4
6
  config.type_specs = true
5
- config.messages_file = File.expand_path('../../../../config/locales/errors.yml', __FILE__)
7
+ config.messages_file = File.expand_path('../../../config/locales/errors.yml', __dir__)
6
8
 
7
9
  predicates(Predicates)
8
10
  end
@@ -22,7 +24,7 @@ module Arbetsformedlingen
22
24
  from_11_days_to_3_months: 7,
23
25
  from_june_to_august: 4, # summer months (June to August)
24
26
  from_3_months_to_6_months: 3,
25
- from_6_months_to_longer: 2
27
+ from_6_months_to_longer: 2,
26
28
  }.freeze
27
29
 
28
30
  def initialize(hash)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'builder'
2
4
 
3
5
  module Arbetsformedlingen
@@ -5,7 +7,7 @@ module Arbetsformedlingen
5
7
  SOAP_ATTRIBUTES = {
6
8
  'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
7
9
  'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema',
8
- 'xmlns:soap12' => 'http://www.w3.org/2003/05/soap-envelope'
10
+ 'xmlns:soap12' => 'http://www.w3.org/2003/05/soap-envelope',
9
11
  }.freeze
10
12
 
11
13
  def self.wrap(&block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Arbetsformedlingen
2
- VERSION = '0.5.0'.freeze
4
+ VERSION = '0.6.0'.freeze
3
5
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arbetsformedlingen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Burenstam
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-03 00:00:00.000000000 Z
11
+ date: 2018-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: httparty
14
+ name: builder
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
19
+ version: '3.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.13'
26
+ version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dry-validation
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,47 +39,61 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.12'
41
41
  - !ruby/object:Gem::Dependency
42
- name: builder
42
+ name: httparty
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.2'
47
+ version: '0.13'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.2'
54
+ version: '0.13'
55
55
  - !ruby/object:Gem::Dependency
56
- name: nokogiri
56
+ name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.8'
61
+ version: '1.14'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.8'
68
+ version: '1.14'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bundler
70
+ name: byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '1.14'
89
+ version: '1.8'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1.14'
96
+ version: '1.8'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +114,28 @@ dependencies:
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '3.0'
117
+ version: '3.8'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '3.0'
124
+ version: '3.8'
111
125
  - !ruby/object:Gem::Dependency
112
- name: webmock
126
+ name: rubocop
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '3.1'
131
+ version: '0.59'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '3.1'
138
+ version: '0.59'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: vcr
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -137,20 +151,21 @@ dependencies:
137
151
  - !ruby/object:Gem::Version
138
152
  version: '3.0'
139
153
  - !ruby/object:Gem::Dependency
140
- name: byebug
154
+ name: webmock
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ">="
157
+ - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
159
+ version: '3.1'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ">="
164
+ - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
153
- description: Arbetsförmedlingen API client (Swedish Public Employment Service)
166
+ version: '3.1'
167
+ description: Arbetsförmedlingen API client (Swedish Public Employment Service). Post
168
+ job ads, Platsannons (ads) API client and WSOccupation SOAP API client.
154
169
  email:
155
170
  - burenstam@gmail.com
156
171
  executables: []
@@ -159,6 +174,8 @@ extra_rdoc_files: []
159
174
  files:
160
175
  - ".gitignore"
161
176
  - ".rspec"
177
+ - ".rubocop.yml"
178
+ - ".ruby-style-guide.yml"
162
179
  - ".travis.yml"
163
180
  - CHANGELOG.md
164
181
  - Gemfile
@@ -177,6 +194,7 @@ files:
177
194
  - lib/arbetsformedlingen/api/ledigtarbete_client.rb
178
195
  - lib/arbetsformedlingen/api/matchning_client.rb
179
196
  - lib/arbetsformedlingen/api/request.rb
197
+ - lib/arbetsformedlingen/api/response.rb
180
198
  - lib/arbetsformedlingen/api/results/ad_result.rb
181
199
  - lib/arbetsformedlingen/api/results/matchning_result.rb
182
200
  - lib/arbetsformedlingen/api/results/soklista_result.rb