lifen 2.0.0 → 2.1.0

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: 9a170e3ecea4b77de29a7e3f1d43b07d326f75c0
4
- data.tar.gz: 655170fca70cedd95108e8f4ddd70aa09a31777d
3
+ metadata.gz: fecc06b97e2fc280ee947c1fcfe3f62e71841475
4
+ data.tar.gz: 9ad6094a798bea54922907efbb2ba5ea3d710345
5
5
  SHA512:
6
- metadata.gz: ab0ea57784dae76f2289b0a5a99769d5ced3f9ae50394fcd0ecae836c5b589460b88919d85b34d6f976466cbdebe9d7501fc57ce0ed30375dc50ab87fc43efde
7
- data.tar.gz: 3c2446fdfb4a54af5fe4f670e54446d75e3ebd00e77b206d42b211128d77c5b70b585a62d5168ead5be95fe087f94531361fed5ebabfe424dfe3a6a279de20bf
6
+ metadata.gz: 86d43d8443e22e8f97e50ef225d6accce74fa67a45bf2ad6c4446bd1d1fdc15826b436e0e0b4c7ba7bdd0758fee0e847e0bbf0af6118558c126068d148cd1779
7
+ data.tar.gz: 60aa9e72362b928dbfb08bf9d62fadfa1555bd78642bae69d24f9f0e9ce1be655b171af1c326cf15328415eae638a408aede963ce6d82a7a1dadbf5abc645f56
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ 2.1.0
2
+ -----
3
+
4
+ - Added user :create_telecom for fax
5
+ - Added user :create_address (create_channel will be depreciated)
6
+
1
7
  2.0.0
2
8
  -----
3
9
 
@@ -103,4 +109,4 @@
103
109
  -----
104
110
 
105
111
  - Major refactoring
106
- - Added OAuth support
112
+ - Added OAuth support
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lifen (2.0.0)
4
+ lifen (2.1.0)
5
5
  faraday (>= 0.9)
6
6
  inflecto
7
7
  virtus (>= 1.0)
data/README.md CHANGED
@@ -151,9 +151,15 @@ communication.status
151
151
 
152
152
  ```ruby
153
153
  recipient = Lifen::User.new(uuid: "valid-user-uuid")
154
- channel = recipient.create_channel(type: "address", lines: ["39 rue Aboukir"], city: "Paris", postal_code: "75002", country: "France")
154
+
155
+ # To create a new mailing address channel
156
+ channel = recipient.create_address(type: "address", lines: ["39 rue Aboukir"], city: "Paris", postal_code: "75002", country: "France")
157
+
158
+ # To create a new telecom channel fax
159
+ channel = recipient.create_telecom(type: "telecom", system: "fax", value: "+33102030405")
155
160
  ```
156
161
 
162
+
157
163
  ## Contributing
158
164
 
159
165
  1. Fork it
data/lib/lifen/user.rb CHANGED
@@ -16,6 +16,7 @@ module Lifen
16
16
 
17
17
  @@create_lock = Mutex.new
18
18
 
19
+
19
20
  def flows
20
21
  Lifen::Flows.new(user: self).all
21
22
  end
@@ -138,7 +139,7 @@ module Lifen
138
139
  user
139
140
  end
140
141
 
141
- def create_channel(params)
142
+ def create_address(params)
142
143
  filtered_params = {"resourceType" => "Practitioner"}
143
144
 
144
145
  address = {
@@ -159,6 +160,8 @@ module Lifen
159
160
  channel
160
161
  end
161
162
 
163
+ alias_method :create_channel, :create_address
164
+
162
165
  def self.from_json(json)
163
166
  reference = json["reference"]
164
167
 
@@ -167,6 +170,26 @@ module Lifen
167
170
  new(uuid: uuid)
168
171
  end
169
172
 
173
+ def create_telecom(params)
174
+ filtered_params = {"resourceType" => "Practitioner"}
175
+
176
+ telecom = {
177
+ "system": params[:system],
178
+ "value": params[:value]
179
+ }
180
+
181
+ filtered_params[params[:type]] = telecom
182
+
183
+ json = application_client.post("fhir/Practitioner/#{uuid}/$add-telecom", filtered_params)
184
+
185
+ channel = Channel.new(uuid: json["issue"][0]["id"], type: params[:type], value: params[:value])
186
+
187
+ self.channels << channel
188
+
189
+ channel
190
+
191
+ end
192
+
170
193
  private
171
194
 
172
195
  def application_client
@@ -178,4 +201,4 @@ module Lifen
178
201
  end
179
202
 
180
203
  end
181
- end
204
+ end
data/lib/lifen/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lifen
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
@@ -0,0 +1,70 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://develop.lifen.fr/fhir/Practitioner/11e5c85e-9bc0-4c6e-9b29-deb9993a92c0/$add-address
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"resourceType":"Practitioner","address":{"line":["Honestica", "39 rue Aboukir"],"city":"Paris","postalCode":"75002","country":"France"}}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.11.0
12
+ Authorization:
13
+ - Bearer valid_application_access_token
14
+ Content-Type:
15
+ - application/json
16
+ Accept:
17
+ - application/json
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - Apache-Coyote/1.1
27
+ X-B3-Sampled:
28
+ - '1'
29
+ X-B3-Spanid:
30
+ - ba943922b8381e3
31
+ X-B3-Traceid:
32
+ - ba943922b8381e3
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ X-Xss-Protection:
36
+ - 1; mode=block
37
+ Cache-Control:
38
+ - no-cache, no-store, max-age=0, must-revalidate
39
+ Pragma:
40
+ - no-cache
41
+ Expires:
42
+ - '0'
43
+ X-Powered-By:
44
+ - HAPI FHIR 2.2 REST Server (FHIR Server; FHIR 1.0.2/DSTU2)
45
+ Content-Type:
46
+ - application/json+fhir;charset=UTF-8
47
+ Transfer-Encoding:
48
+ - chunked
49
+ Date:
50
+ - Fri, 10 Mar 2017 09:57:16 GMT
51
+ Connection:
52
+ - close
53
+ Access-Control-Allow-Credentials:
54
+ - 'true'
55
+ body:
56
+ encoding: UTF-8
57
+ string: |-
58
+ {
59
+ "resourceType": "OperationOutcome",
60
+ "issue": [
61
+ {
62
+ "id": "11e70577-f114-5cde-b13b-0242ac110002",
63
+ "severity": "information",
64
+ "diagnostics": "Address created"
65
+ }
66
+ ]
67
+ }
68
+ http_version:
69
+ recorded_at: Fri, 10 Mar 2017 09:57:16 GMT
70
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://develop.lifen.fr/fhir/Practitioner/11e5c85e-9bc0-4c6e-9b29-deb9993a92c0/$add-telecom
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"resourceType":"Practitioner","telecom":{"system":"fax","value":"+33102030405"}}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.11.0
12
+ Authorization:
13
+ - Bearer valid_application_access_token
14
+ Content-Type:
15
+ - application/json
16
+ Accept:
17
+ - application/json
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - Apache-Coyote/1.1
27
+ X-B3-Sampled:
28
+ - '1'
29
+ X-B3-Spanid:
30
+ - a112d0b5d16fd847
31
+ X-B3-Traceid:
32
+ - a112d0b5d16fd847
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ X-Xss-Protection:
36
+ - 1; mode=block
37
+ Cache-Control:
38
+ - no-cache, no-store, max-age=0, must-revalidate
39
+ Pragma:
40
+ - no-cache
41
+ Expires:
42
+ - '0'
43
+ X-Powered-By:
44
+ - HAPI FHIR 2.2 REST Server (FHIR Server; FHIR 1.0.2/DSTU2)
45
+ Content-Type:
46
+ - application/json+fhir;charset=UTF-8
47
+ Transfer-Encoding:
48
+ - chunked
49
+ Date:
50
+ - Wed, 29 Mar 2017 11:51:04 GMT
51
+ Access-Control-Allow-Credentials:
52
+ - 'true'
53
+ body:
54
+ encoding: UTF-8
55
+ string: |-
56
+ {
57
+ "resourceType": "OperationOutcome",
58
+ "issue": [
59
+ {
60
+ "id": "11e71475-fd0b-fdaf-b133-0242ac110005",
61
+ "severity": "information",
62
+ "diagnostics": "Fax created."
63
+ }
64
+ ]
65
+ }
66
+ http_version:
67
+ recorded_at: Wed, 29 Mar 2017 11:50:47 GMT
68
+ recorded_with: VCR 3.0.3
data/spec/user_spec.rb CHANGED
@@ -272,12 +272,22 @@ describe Lifen::User do
272
272
 
273
273
  end
274
274
 
275
- describe ':create_channel' do
275
+ describe ':create_address' do
276
276
 
277
277
  let(:user) { Lifen::User.new(uuid: "11e5c85e-9bc0-4c6e-9b29-deb9993a92c0") }
278
278
 
279
- it 'creates the channel' do
280
- VCR.use_cassette "users/create_channel/valid_attributes" do
279
+ it 'creates the address' do
280
+ VCR.use_cassette "users/create_channel/address/valid_attributes" do
281
+ @channel = user.create_address(type: "address", lines: ["Honestica", "39 rue d'Aboukir"], city: "Paris", postal_code: "75002", country: "France")
282
+ end
283
+
284
+ expect(@channel.value).to eq "Honestica, 39 rue d'Aboukir, 75002 Paris"
285
+ expect(@channel.uuid).to eq "11e70577-f114-5cde-b13b-0242ac110002"
286
+ expect(user.channels.size).to eq 1
287
+ end
288
+
289
+ it 'creates the channel - old version' do
290
+ VCR.use_cassette "users/create_channel/address/old_valid_attributes" do
281
291
  @channel = user.create_channel(type: "address", lines: ["Honestica", "39 rue d'Aboukir"], city: "Paris", postal_code: "75002", country: "France")
282
292
  end
283
293
 
@@ -285,7 +295,17 @@ describe Lifen::User do
285
295
  expect(@channel.uuid).to eq "11e70577-f114-5cde-b13b-0242ac110002"
286
296
  expect(user.channels.size).to eq 1
287
297
  end
298
+
299
+ it 'creates the telecom-fax channel' do
300
+ VCR.use_cassette "users/create_channel/telecom/valid_attributes" do
301
+ @channel = user.create_telecom(type: "telecom", system: "fax", value: "+33102030405")
302
+ end
303
+
304
+ expect(@channel.uuid).to eq "11e71475-fd0b-fdaf-b133-0242ac110005"
305
+ expect(user.channels.size).to eq 1
306
+ end
288
307
  end
289
308
 
290
309
 
291
- end
310
+
311
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lifen
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Etienne Depaulis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-24 00:00:00.000000000 Z
11
+ date: 2017-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -195,7 +195,9 @@ files:
195
195
  - spec/cassettes/users/create/invalid_token.yml
196
196
  - spec/cassettes/users/create/missing_fields.yml
197
197
  - spec/cassettes/users/create/valid_attributes.yml
198
- - spec/cassettes/users/create_channel/valid_attributes.yml
198
+ - spec/cassettes/users/create_channel/address/old_valid_attributes.yml
199
+ - spec/cassettes/users/create_channel/address/valid_attributes.yml
200
+ - spec/cassettes/users/create_channel/telecom/valid_attributes.yml
199
201
  - spec/cassettes/users/find/existing_uuid.yml
200
202
  - spec/cassettes/users/find/missing_uuid.yml
201
203
  - spec/cassettes/users/find_by_rpps/existing_rpps.yml
@@ -263,7 +265,9 @@ test_files:
263
265
  - spec/cassettes/users/create/invalid_token.yml
264
266
  - spec/cassettes/users/create/missing_fields.yml
265
267
  - spec/cassettes/users/create/valid_attributes.yml
266
- - spec/cassettes/users/create_channel/valid_attributes.yml
268
+ - spec/cassettes/users/create_channel/address/old_valid_attributes.yml
269
+ - spec/cassettes/users/create_channel/address/valid_attributes.yml
270
+ - spec/cassettes/users/create_channel/telecom/valid_attributes.yml
267
271
  - spec/cassettes/users/find/existing_uuid.yml
268
272
  - spec/cassettes/users/find/missing_uuid.yml
269
273
  - spec/cassettes/users/find_by_rpps/existing_rpps.yml