File tree Expand file tree Collapse file tree 5 files changed +211
-20
lines changed Expand file tree Collapse file tree 5 files changed +211
-20
lines changed Original file line number Diff line number Diff line change @@ -180,6 +180,14 @@ messages = conv.messages.find("message_id")
180180# => #<Layer::Resources::Message:0x007fdb18b44bf0 @attributes={...}>
181181```
182182
183+ #### Deleting A Message
184+
185+ ``` ruby
186+ conv = platform.conversations.find(" conversation_id" )
187+ conv.messages.find(" message_id" ).destroy
188+ # => nil
189+ ```
190+
183191#### Sending Announcements ####
184192
185193``` ruby
Original file line number Diff line number Diff line change @@ -13,26 +13,6 @@ def client
1313 @http_client ||= Layer ::HttpClient . new ( @app_id , @api_token )
1414 end
1515
16- def get ( url , *args )
17- client . get ( url , *args )
18- end
19-
20- def post ( url , *args )
21- client . post ( url , *args )
22- end
23-
24- def put ( url , *args )
25- client . put ( url , *args )
26- end
27-
28- def patch ( url , *args )
29- client . patch ( url , *args )
30- end
31-
32- def delete ( url )
33- client . delete ( url )
34- end
35-
3616 def strip_layer_prefix ( string )
3717 string . split ( "/" ) . last if string
3818 end
Original file line number Diff line number Diff line change 11module Layer
22 module Resources
33 class Message < Layer ::Resource
4+ def destroy
5+ client . delete ( delete_url )
6+ end
7+
8+ private
9+
10+ def delete_url
11+ conversation_url = conversation [ "id" ] . split ( "layer:///" ) . last
12+
13+ "#{ conversation_url } /messages/#{ uuid } "
14+ end
415 end
516 end
617end
Original file line number Diff line number Diff line change 100100 end
101101 end
102102 end
103+
104+ describe "#destroy" do
105+ it "should delete message if message exists" do
106+ VCR . use_cassette ( "message_delete" ) do
107+ conv = client . conversations . create ( conversation_params )
108+ message = conv . messages . create ( message_params )
109+
110+ message . destroy
111+
112+ expect {
113+ conv . messages . find ( message . uuid )
114+ } . to raise_error ( Layer ::Errors ::NotFound )
115+ end
116+ end
117+ end
118+
119+ describe "#delete_url" do
120+ it "should return correct URL needed for deletion" do
121+ attributes = {
122+ "id" => "layer:///messages/779fe2ec-8c1a-4b7c-993c-22df0465af1c" ,
123+ "conversation" => {
124+ "id" => "layer:///conversations/b127ccbe-5f95-4d6a-9c01-c1e98e147f4f"
125+ }
126+ }
127+
128+ message = described_class . new ( attributes , nil )
129+ delete_url = message . send ( :delete_url )
130+ expected_url = "conversations/b127ccbe-5f95-4d6a-9c01-c1e98e147f4f/messages/779fe2ec-8c1a-4b7c-993c-22df0465af1c"
131+
132+ expect ( delete_url ) . to eq ( expected_url )
133+ end
134+ end
103135end
You can’t perform that action at this time.
0 commit comments