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