lifen 0.1.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +6 -0
- data/lib/lifen.rb +1 -0
- data/lib/lifen/message.rb +34 -0
- data/lib/lifen/version.rb +1 -1
- data/spec/cassettes/messages/valid_message.yml +57 -0
- data/spec/messages_spec.rb +30 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e020ba55f8060ba2aee6a8f5a8d11be901ca23ce
|
4
|
+
data.tar.gz: e70f400e649576ce7db7df4d15e9f58d15fd58ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9adf3bec7ffd0a1047356ed1a046ea2e2203c6ed7bd810cf0a4e23b2cc3957acd039d9d1a941d8b34c08175d1d34a5f712ade496af6ad139e7b60186caccfb82
|
7
|
+
data.tar.gz: 6d841f1e80fe39ab291a3496f339b764783910c0b9eb368721efb80869dce74c104dc182699f54b8da23a76c9af90e8310da925603f810a05c77b7073743a1c5
|
data/Gemfile.lock
CHANGED
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
@@ -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
@@ -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.
|
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
|
+
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
|