lifen 0.1.5 → 0.2.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: 6adc4c05214d98c131b76fae1d12e1fee469adab
4
- data.tar.gz: 4ad0289f54a54ae548ec0bb15ea246d4debab564
3
+ metadata.gz: e020ba55f8060ba2aee6a8f5a8d11be901ca23ce
4
+ data.tar.gz: e70f400e649576ce7db7df4d15e9f58d15fd58ba
5
5
  SHA512:
6
- metadata.gz: 05f67f7c831ab06ccfaff089b24e313e22d14c042e067c83667a5d4649b0deb2652c8c990189a404ef21d50dd8f9d55db1e553c704036fefdecef358e9d4a22f
7
- data.tar.gz: ca39bfb00523b8ac8a993f467562b0dda712182f9a4055e27ee856763a428600e7c0f1b2bd35117471aa1221cf211c77f2833917ae5b77d166b5682d8abf2475
6
+ metadata.gz: 9adf3bec7ffd0a1047356ed1a046ea2e2203c6ed7bd810cf0a4e23b2cc3957acd039d9d1a941d8b34c08175d1d34a5f712ade496af6ad139e7b60186caccfb82
7
+ data.tar.gz: 6d841f1e80fe39ab291a3496f339b764783910c0b9eb368721efb80869dce74c104dc182699f54b8da23a76c9af90e8310da925603f810a05c77b7073743a1c5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lifen (0.1.5)
4
+ lifen (0.2.0)
5
5
  faraday (>= 0.9)
6
6
  virtus (>= 1.0)
7
7
 
data/README.md CHANGED
@@ -35,6 +35,7 @@ Lifen can be configured (ideally inside an initializer) like so:
35
35
  user = Lifen::User.new(email: "email@domain.tld", first_name: "Jean", last_name: "Dupont")
36
36
  user.create!
37
37
  user.refresh_token
38
+ user.refresh_unread_messages
38
39
 
39
40
  ### Managing flows
40
41
 
@@ -46,6 +47,11 @@ Lifen can be configured (ideally inside an initializer) like so:
46
47
  flow.attach_users!(user)
47
48
  flow.detach_users!(user)
48
49
 
50
+ ### Managing messages
51
+
52
+ message = Lifen::Message.new(flow: flow, content: "Hello World !")
53
+ message.create
54
+
49
55
  ## Contributing
50
56
 
51
57
  1. Fork it
data/lib/lifen.rb CHANGED
@@ -16,5 +16,6 @@ module Lifen
16
16
  require 'lifen/flows'
17
17
  require 'lifen/authentication'
18
18
  require 'lifen/status'
19
+ require 'lifen/message'
19
20
 
20
21
  end
@@ -0,0 +1,34 @@
1
+ module Lifen
2
+ class Message < Base
3
+
4
+ attribute :uuid, String
5
+ attribute :content, String
6
+ attribute :type, String, default: "regular"
7
+ attribute :flow, Lifen::Flow
8
+ attribute :sent_at, DateTime
9
+
10
+
11
+ def create
12
+ json = client.post("central/api/chats/#{flow.uuid}/messages", {content: content, type: type})
13
+
14
+ json["sent_at"] = json["sentDate"]
15
+
16
+ message = self.class.new(json)
17
+
18
+ self.flow = flow
19
+ self.uuid = message.uuid
20
+ self.content = message.content
21
+ self.type = message.type
22
+ self.sent_at = message.sent_at
23
+
24
+ self
25
+ end
26
+
27
+ private
28
+
29
+ def client
30
+ @client ||= flow.user.client
31
+ end
32
+
33
+ end
34
+ end
data/lib/lifen/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lifen
2
- VERSION = "0.1.5"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://develop.lifen.fr/central/api/chats/11e6b870-37a5-59af-ac0e-0242ac110002/messages
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"content":"Bonjour Lifen"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.10.0
12
+ X-Auth-Token:
13
+ - valid_token
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
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
+ - a8262c0e7a907672
31
+ X-B3-Traceid:
32
+ - a8262c0e7a907672
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
+ Content-Type:
44
+ - application/hal+json;charset=UTF-8
45
+ Transfer-Encoding:
46
+ - chunked
47
+ Date:
48
+ - Fri, 02 Dec 2016 09:24:25 GMT
49
+ Connection:
50
+ - close
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"uuid":"11e6b871-1e02-9662-ac0e-0242ac110002","version":0,"content":"Bonjour
54
+ Lifen","sentDate":"2016-12-02T09:24:25.568Z","read":true,"type":"regular","modificationDate":"2016-12-02T09:24:25.568Z","updateable":true}'
55
+ http_version:
56
+ recorded_at: Fri, 02 Dec 2016 09:23:50 GMT
57
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lifen::Message do
4
+
5
+ let(:user) { Lifen::User.new(token: "valid_token") }
6
+ let(:flow) { Lifen::Flow.new(user: user, uuid: "11e6b870-37a5-59af-ac0e-0242ac110002") }
7
+ let(:message) { Lifen::Message.new(flow: flow, content: "Bonjour Lifen") }
8
+
9
+ describe "create" do
10
+
11
+ context "valid message" do
12
+
13
+ it 'has valid attributes' do
14
+
15
+ VCR.use_cassette "messages/valid_message" do
16
+ message.create
17
+ end
18
+
19
+ expect(message.uuid).to eq("11e6b871-1e02-9662-ac0e-0242ac110002")
20
+ expect(message.type).to eq("regular")
21
+ expect(message.flow).to eq(flow)
22
+ expect(message.sent_at.to_date).to eq Date.new(2016, 12, 2)
23
+
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+
30
+ 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: 0.1.5
4
+ version: 0.2.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: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2016-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -146,6 +146,7 @@ files:
146
146
  - lib/lifen/error.rb
147
147
  - lib/lifen/flow.rb
148
148
  - lib/lifen/flows.rb
149
+ - lib/lifen/message.rb
149
150
  - lib/lifen/status.rb
150
151
  - lib/lifen/user.rb
151
152
  - lib/lifen/user_authenticated_client.rb
@@ -161,6 +162,7 @@ files:
161
162
  - spec/cassettes/flows/internal_error_without_trace_id.yml
162
163
  - spec/cassettes/flows/invalid_token.yml
163
164
  - spec/cassettes/flows/valid_token.yml
165
+ - spec/cassettes/messages/valid_message.yml
164
166
  - spec/cassettes/users/create/existing_user.yml
165
167
  - spec/cassettes/users/create/invalid_token.yml
166
168
  - spec/cassettes/users/create/missing_fields.yml
@@ -170,6 +172,7 @@ files:
170
172
  - spec/cassettes/users/refresh_unread_messages/invalid_token.yml
171
173
  - spec/cassettes/users/refresh_unread_messages/valid_token.yml
172
174
  - spec/flows_spec.rb
175
+ - spec/messages_spec.rb
173
176
  - spec/spec_helper.rb
174
177
  - spec/users_spec.rb
175
178
  homepage: https://github.com/honestica/lifen
@@ -207,6 +210,7 @@ test_files:
207
210
  - spec/cassettes/flows/internal_error_without_trace_id.yml
208
211
  - spec/cassettes/flows/invalid_token.yml
209
212
  - spec/cassettes/flows/valid_token.yml
213
+ - spec/cassettes/messages/valid_message.yml
210
214
  - spec/cassettes/users/create/existing_user.yml
211
215
  - spec/cassettes/users/create/invalid_token.yml
212
216
  - spec/cassettes/users/create/missing_fields.yml
@@ -216,5 +220,6 @@ test_files:
216
220
  - spec/cassettes/users/refresh_unread_messages/invalid_token.yml
217
221
  - spec/cassettes/users/refresh_unread_messages/valid_token.yml
218
222
  - spec/flows_spec.rb
223
+ - spec/messages_spec.rb
219
224
  - spec/spec_helper.rb
220
225
  - spec/users_spec.rb