platforms-yammer 0.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.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +157 -0
  4. data/Rakefile +18 -0
  5. data/lib/generators/platforms/yammer/install/USAGE +11 -0
  6. data/lib/generators/platforms/yammer/install/install_generator.rb +29 -0
  7. data/lib/generators/platforms/yammer/install/templates/platforms_yammer.rb +4 -0
  8. data/lib/platforms/yammer.rb +15 -0
  9. data/lib/platforms/yammer/api.rb +39 -0
  10. data/lib/platforms/yammer/api/base.rb +20 -0
  11. data/lib/platforms/yammer/api/group_memberships.rb +35 -0
  12. data/lib/platforms/yammer/api/groups.rb +22 -0
  13. data/lib/platforms/yammer/api/invitations.rb +23 -0
  14. data/lib/platforms/yammer/api/messages.rb +165 -0
  15. data/lib/platforms/yammer/api/networks.rb +22 -0
  16. data/lib/platforms/yammer/api/oauth.rb +28 -0
  17. data/lib/platforms/yammer/api/open_graph_objects.rb +29 -0
  18. data/lib/platforms/yammer/api/pending_attachments.rb +34 -0
  19. data/lib/platforms/yammer/api/relationships.rb +39 -0
  20. data/lib/platforms/yammer/api/search.rb +22 -0
  21. data/lib/platforms/yammer/api/streams.rb +21 -0
  22. data/lib/platforms/yammer/api/subscriptions.rb +53 -0
  23. data/lib/platforms/yammer/api/suggestions.rb +31 -0
  24. data/lib/platforms/yammer/api/supervisor_mode.rb +22 -0
  25. data/lib/platforms/yammer/api/threads.rb +23 -0
  26. data/lib/platforms/yammer/api/topics.rb +23 -0
  27. data/lib/platforms/yammer/api/uploaded_files.rb +22 -0
  28. data/lib/platforms/yammer/api/users.rb +109 -0
  29. data/lib/platforms/yammer/authentication.rb +233 -0
  30. data/lib/platforms/yammer/client.rb +228 -0
  31. data/lib/platforms/yammer/configuration.rb +76 -0
  32. data/lib/platforms/yammer/engine.rb +27 -0
  33. data/lib/platforms/yammer/omni_auth_setup.rb +31 -0
  34. data/lib/platforms/yammer/railtie.rb +19 -0
  35. data/lib/platforms/yammer/version.rb +7 -0
  36. data/lib/tasks/platforms/yammer_tasks.rake +4 -0
  37. metadata +280 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 772704cd07bae935f2988fda8cfb11dd803481e20c75efe12ade6db20c4f2f1b
4
+ data.tar.gz: 33c704d4e826872402bf47d242b8336d27fb249a81d4b7055dde320277977c27
5
+ SHA512:
6
+ metadata.gz: c6ac0318074dfabecd5391679c31ebb2a9af3acd6ae11a473f228f5a6b7a1722e5ec287d3bce1edb776057e6ae3ae4b8512a61d71fb9560f4591dd7021dab6a2
7
+ data.tar.gz: 056d5f6d146b90959ae87ac75b437bee282d29eaeb5d325ee4cdfab3429337a60dac11bf6b92f7af7cd48468b31e8911832f3da8880a590f0524b83bec57fed8
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2020 Benjamin Elias
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,157 @@
1
+ # Platforms::Yammer
2
+
3
+ This is an easy-to-use Ruby library which takes all the hard work out of writing a Yammer App.
4
+
5
+ Platforms::Yammer supports all documented API endpoints, and has the flexibility of being able to call new, updated, or undocumented API endpoints too.
6
+
7
+ ## Usage
8
+
9
+ This gem consists of two main parts. You need to have already [created an App](https://developer.yammer.com/docs/getting-started) in Yammer before using this gem.
10
+
11
+ ### 1. Authentication
12
+
13
+ Assuming the "Redirect URI" for your App is `https://www.myapp.com/auth/yammer/callback`, in your routes file set that route to a controller of your choice. `SessionsController` is used in the examples below..
14
+
15
+ ```ruby
16
+ # config/routes.rb
17
+
18
+ Rails.application.routes.draw do
19
+ # ...
20
+ match '/auth/:provider/callback', to: 'sessions#callback', via: [:get, :post]
21
+ # ...
22
+ end
23
+ ```
24
+
25
+ In the Sessions controller, include the `Platforms::Yammer::Authentication` module and call `save_identity` in the `callback` method:
26
+
27
+ ```ruby
28
+ # app/controllers/sessions_controller
29
+
30
+ class SessionsController < ApplicationController
31
+ include Platforms::Yammer::Authentication
32
+
33
+ before_action :set_token
34
+
35
+ def callback
36
+ # ...
37
+ save_identity
38
+ # ...
39
+ end
40
+
41
+ end
42
+ ```
43
+
44
+ This will give you instance variables `@platforms_user`, `@platforms_network`, `@token`, and `@switch_network_ids`, giving you details of the Yammer user.
45
+ Some of this information will be useful to store in a [session](https://guides.rubyonrails.org/security.html#session-storage).
46
+ See {Platforms::Yammer::Authentication#save_identity} for more details.
47
+
48
+ This callback method also has access to more detailed information about the logged-in user through `request.env[omniauth.auth']`. More information about the data that is stored in that variable can be found in the OmniAuth [Auth Hash Schema](https://github.com/omniauth/omniauth/wiki/Auth-Hash-Schema) description.
49
+
50
+ Switching between Yammer Networks is achieved through {Platforms::Yammer::Authentication#switch_identity}, which is treated as a regular API request.
51
+
52
+ ### 2. API Requests
53
+
54
+ Use the `@token`, found during [Authentication](#authentication), to create a new {Platforms::Yammer::Client}. That client can then be used to make API requests.
55
+
56
+ ```ruby
57
+ client = Platforms::Yammer::Client.new(@token)
58
+ messages = client.messages.get
59
+ ```
60
+
61
+ More detail on the configuration options for the {Platforms::Yammer::Client} can be found in the class documentation, including how to change the handling of HTTP errors.
62
+
63
+ Extra request parameters and headers can generally be passed in the subsequent parameters to a method:
64
+
65
+ ```ruby
66
+ messages = client.messages.get { :older_than => 123 }, { :custom => :header }
67
+ ```
68
+
69
+ ## Installation
70
+
71
+ Add this line to your application's Gemfile:
72
+
73
+ ```ruby
74
+ gem 'platforms-yammer'
75
+ ```
76
+
77
+ And then execute:
78
+
79
+ ```bash
80
+ $ bundle
81
+ ```
82
+
83
+ Or install it yourself as:
84
+
85
+ ```bash
86
+ $ gem install platforms-yammer
87
+ ```
88
+
89
+ Once the gem is installed, from your Rails directory you can run the following generator to complete the installation:
90
+
91
+ ```bash
92
+ $ rails generate platforms:yammer:install
93
+ ```
94
+
95
+ This will:
96
+
97
+ * Complete the installation of the [Platforms::Core](https://github.com/collabital/platforms-core) gem; and
98
+ * Add a basic initializer to `config/initializers/platforms_yammer.rb`.
99
+
100
+ ## Configuration
101
+
102
+ REST-based APIs require authentication to get started. Please refer to the Yammer documentation for how to configure an integration.
103
+
104
+ ### Configuring the Keys
105
+
106
+ Edit the initializer to add the credentials of your Yammer integration:
107
+
108
+ ```ruby
109
+ # config/initializers/platforms_yammer.rb
110
+
111
+ ```
112
+
113
+ ### Starting a New App
114
+
115
+ Your application needs to have at least `Network` and `User` models. These can be created by calling the generator:
116
+
117
+ ```bash
118
+ $ rails generate platforms:core:network foo some_info:string
119
+ $ rails generate platforms:core:user bar user more_info:string
120
+ $ rake db:migrate
121
+ ```
122
+
123
+ Typically these would actually be called "Network" and "User", but here we have called them "Foo" and "Bar".
124
+
125
+ For more detailed instructions, refer to the documentation for configuring [Platforms::Core](https://github.com/collabital/platforms-core#configuration).
126
+
127
+ ### Adding to an Existing App
128
+
129
+ If you already have `Network` and `User` models (which let's assume are called "Foo" and "Bar" respectively), you can configure them for Platforms::Core by using the generator with the `--existing-model` flag:
130
+
131
+ ```bash
132
+ $ rails generate platforms:core:network foo --existing-model
133
+ $ rails generate platforms:core:user bar --existing-model
134
+ $ rake db:migrate
135
+ ```
136
+
137
+ For more detailed instructions, refer to the documentation for configuring [Platforms::Core](https://github.com/collabital/platforms-core#configuration).
138
+
139
+ ## Documentation
140
+
141
+ You can generate the documentation by running
142
+
143
+ ```bash
144
+ $ rake yard
145
+ ```
146
+
147
+ If not everything is documented, check this with:
148
+ ```bash
149
+ $ yard stats --list-undoc
150
+ ```
151
+
152
+ ## Contributing
153
+
154
+ Please see [CONTRIBUTING.md](CONTRIBUTING.md).
155
+
156
+ ## License
157
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,18 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'yard'
8
+ YARD::Rake::YardocTask.new do |t|
9
+ end
10
+
11
+ APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
12
+ load 'rails/tasks/engine.rake'
13
+
14
+ load 'rails/tasks/statistics.rake'
15
+
16
+ require 'bundler/gem_tasks'
17
+
18
+ task :default => ["app:spec"]
@@ -0,0 +1,11 @@
1
+ Description:
2
+ This will install the required migrations, and set up initializers
3
+
4
+ Example:
5
+ rails generate platforms:yammer:install
6
+
7
+ This will create:
8
+ The initializer in config/initializers/platforms_yammer.rb
9
+ Run $ rails generate platforms:core:install
10
+
11
+ Note that it will not run the migrations
@@ -0,0 +1,29 @@
1
+ require 'rails/generators'
2
+
3
+ module Platforms
4
+ module Yammer
5
+
6
+ # Simplify the installation of Platforms::Yammer by creating an
7
+ # initializer file and installing the migrations.
8
+ # This does not run the migrations.
9
+ # @author Benjamin Elias
10
+ # @since 0.1.0
11
+ class InstallGenerator < Rails::Generators::Base
12
+ source_root File.expand_path('templates', __dir__)
13
+
14
+ # Create config/initializers/platforms_yammer.rb according
15
+ # to the template.
16
+ def copy_initializer_file
17
+ copy_file "platforms_yammer.rb", "config/initializers/platforms_yammer.rb"
18
+ end
19
+
20
+ # Install Platforms::Core.
21
+ # This uses the built in Rails generate method to call the
22
+ # other gem's installer.
23
+ def install_core
24
+ generate "platforms:core:install"
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,4 @@
1
+ Platforms::Yammer.configure do |config|
2
+ config.client_id = "your_client_id"
3
+ config.client_secret = "your_client_secret"
4
+ end
@@ -0,0 +1,15 @@
1
+ require "platforms/yammer/authentication"
2
+ require "platforms/yammer/configuration"
3
+ require "platforms/yammer/engine"
4
+ require "platforms/yammer/railtie"
5
+ require "platforms/yammer/client"
6
+
7
+ require "generators/platforms/yammer/install/install_generator"
8
+
9
+ # A flexible module to allow integrations with a number of enterprise social
10
+ # and collaboration platforms with Rails.
11
+ module Platforms
12
+ # A gem to build Yammer integrations with Rails
13
+ module Yammer
14
+ end
15
+ end
@@ -0,0 +1,39 @@
1
+ require "platforms/yammer/api/base"
2
+ require "platforms/yammer/api/messages"
3
+ require "platforms/yammer/api/pending_attachments"
4
+ require "platforms/yammer/api/uploaded_files"
5
+ require "platforms/yammer/api/threads"
6
+ require "platforms/yammer/api/topics"
7
+ require "platforms/yammer/api/group_memberships"
8
+ require "platforms/yammer/api/groups"
9
+ require "platforms/yammer/api/users"
10
+ require "platforms/yammer/api/relationships"
11
+ require "platforms/yammer/api/streams"
12
+ require "platforms/yammer/api/suggestions"
13
+ require "platforms/yammer/api/subscriptions"
14
+ require "platforms/yammer/api/invitations"
15
+ require "platforms/yammer/api/search"
16
+ require "platforms/yammer/api/networks"
17
+ require "platforms/yammer/api/open_graph_objects"
18
+ require "platforms/yammer/api/oauth"
19
+ require "platforms/yammer/api/supervisor_mode"
20
+
21
+ module Platforms
22
+ module Yammer
23
+ # Module for all Yammer's API endpoints
24
+ #
25
+ # These are organised per-class in the 'directory' of the namespace.
26
+ # Methods are generally called 'get', 'post', and 'delete' for simple
27
+ # requests and named methods if more complex.
28
+ #
29
+ # For example:
30
+ # * {Messages#get} maps to GET /messages.json
31
+ # * {Messages#post} maps to POST /messages.json
32
+ # * {Messages#my_feed} maps to GET /messages/my_feed.json
33
+ #
34
+ # @author Benjamin Elias
35
+ # @since 0.1.0
36
+ module Api
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,20 @@
1
+ module Platforms
2
+ module Yammer
3
+ module Api
4
+ # Base class taking care of common setup for Platforms::Yammer::Api
5
+ # classes.
6
+ # @author Benjamin Elias
7
+ # @since 0.1.0
8
+ class Base
9
+
10
+ # Initialize with a Faraday connection
11
+ # @param [Faraday::Connection] connection The connection to use
12
+ def initialize connection
13
+ @connection = connection
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
20
+
@@ -0,0 +1,35 @@
1
+ module Platforms
2
+ module Yammer
3
+ module Api
4
+ # Group memberships in Yammer
5
+ # @author Benjamin Elias
6
+ # @since 0.1.0
7
+ class GroupMemberships < Base
8
+
9
+ # Join a Group
10
+ # @param group_id [#to_s] The ID of the Group to join
11
+ # @param options [Hash] Options for the request
12
+ # @param headers [Hash] Additional headers to send with the request
13
+ # @return [Faraday::Response] the API response
14
+ # @see https://developer.yammer.com/docs/group_membershipsjsongroup_idid
15
+ def post group_id, options={}, headers={}
16
+ body = options.merge({ group_id: group_id})
17
+ @connection.post 'group_memberships.json', body, headers
18
+ end
19
+
20
+ # Leave a Group
21
+ # @param group_id [#to_s] ID of Group to leave
22
+ # @param options [Hash] Options for the request
23
+ # @param headers [Hash] Additional headers to send with the request
24
+ # @return [Faraday::Response] the API response
25
+ # @see https://developer.yammer.com/docs/group_membershipsjsongroup_idid-1
26
+ def delete group_id, options={}, headers={}
27
+ params = options.merge({group_id: group_id})
28
+ @connection.delete 'group_memberships.json', params, headers
29
+ end
30
+
31
+ end
32
+ end
33
+ end
34
+ end
35
+
@@ -0,0 +1,22 @@
1
+ module Platforms
2
+ module Yammer
3
+ module Api
4
+ # Groups in Yammer
5
+ # @author Benjamin Elias
6
+ # @since 0.1.0
7
+ class Groups < Base
8
+
9
+ # Get group memberships for a user
10
+ # @param user_id [#to_s] The user to query for memberships
11
+ # @param options [Hash] Options for the request
12
+ # @param headers [Hash] Additional headers to send with the request
13
+ # @return [Faraday::Response] the API response
14
+ # @see https://developer.yammer.com/docs/groupsfor_useruser_idjson
15
+ def for_user user_id, options={}, headers={}
16
+ @connection.get "groups/for_user/#{user_id}.json", options, headers
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,23 @@
1
+ module Platforms
2
+ module Yammer
3
+ module Api
4
+ # Invite people to a Yammer network
5
+ # @author Benjamin Elias
6
+ # @since 0.1.0
7
+ class Invitations < Base
8
+
9
+ # Post invitations
10
+ # @param body [#to_s] Body of the request. Typically has email and may
11
+ # have group_id (optional).
12
+ # @param headers [Hash] Additional headers to send with the request
13
+ # @return [Faraday::Response] the API response
14
+ # @see https://developer.yammer.com/docs/invitationsjson
15
+ def post body=nil, headers={}
16
+ @connection.post "invitations.json", body, headers
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -0,0 +1,165 @@
1
+ module Platforms
2
+ module Yammer
3
+ module Api
4
+ # Messaging endpoints for the Yammer API
5
+ # @author Benjamin Elias
6
+ # @since 0.1.0
7
+ class Messages < Base
8
+
9
+ # Get Messages from my feed
10
+ # @param options [Hash] Options for the request
11
+ # @param headers [Hash] Additional headers to send with the request
12
+ # @return [Faraday::Response] the API response
13
+ # @see https://developer.yammer.com/docs/messagesmy_feedjson
14
+ def my_feed options={}, headers={}
15
+ @connection.get "messages/my_feed.json", options, headers
16
+ end
17
+
18
+ # Get Messages through the algorithmic feed
19
+ # @param options [Hash] Options for the request
20
+ # @param headers [Hash] Additional headers to send with the request
21
+ # @return [Faraday::Response] the API response
22
+ # @see https://developer.yammer.com/docs/messagesalgojson
23
+ def algo options={}, headers={}
24
+ @connection.get "messages/algo.json", options, headers
25
+ end
26
+
27
+ # Get all messages
28
+ # @param options [Hash] Options for the request
29
+ # @param headers [Hash] Additional headers to send with the request
30
+ # @return [Faraday::Response] the API response
31
+ # @see https://developer.yammer.com/docs/messagesjson
32
+ def get options={}, headers={}
33
+ @connection.get "messages.json", options, headers
34
+ end
35
+
36
+ # Get messages in 'following' feed
37
+ # @param options [Hash] Options for the request
38
+ # @param headers [Hash] Additional headers to send with the request
39
+ # @return [Faraday::Response] the API response
40
+ # @see https://developer.yammer.com/docs/messagesfollowingjson
41
+ def following options={}, headers={}
42
+ @connection.get "messages/following.json", options, headers
43
+ end
44
+
45
+ # Sent messages
46
+ # @param options [Hash] Options for the request
47
+ # @param headers [Hash] Additional headers to send with the request
48
+ # @return [Faraday::Response] the API response
49
+ # @see https://developer.yammer.com/docs/messagessentjson
50
+ def sent options={}, headers={}
51
+ @connection.get "messages/sent.json", options, headers
52
+ end
53
+
54
+ # Private messages
55
+ # @param options [Hash] Options for the request
56
+ # @param headers [Hash] Additional headers to send with the request
57
+ # @return [Faraday::Response] the API response
58
+ # @see https://developer.yammer.com/docs/messagesprivatejson
59
+ def private options={}, headers={}
60
+ @connection.get "messages/private.json", options, headers
61
+ end
62
+
63
+ # Received messages
64
+ # @param options [Hash] Options for the request
65
+ # @param headers [Hash] Additional headers to send with the request
66
+ # @return [Faraday::Response] the API response
67
+ # @see https://developer.yammer.com/docs/messagesreceivedjson
68
+ def received options={}, headers={}
69
+ @connection.get "messages/received.json", options, headers
70
+ end
71
+
72
+ # Messages in a thread
73
+ # @param thread_id [#to_s] The thread ID
74
+ # @param options [Hash] Options for the request
75
+ # @param headers [Hash] Additional headers to send with the request
76
+ # @return [Faraday::Response] the API response
77
+ # @see https://developer.yammer.com/docs/messagesin_threadthreadidjson
78
+ def in_thread thread_id, options={}, headers={}
79
+ @connection.get "messages/in_thread/#{thread_id}.json", options, headers
80
+ end
81
+
82
+ # Messages in a group
83
+ # @param group_id [#to_s] The group ID
84
+ # @param options [Hash] Options for the request
85
+ # @param headers [Hash] Additional headers to send with the request
86
+ # @return [Faraday::Response] the API response
87
+ # @see https://developer.yammer.com/docs/messagesin_groupgroup_id
88
+ def in_group group_id, options={}, headers={}
89
+ @connection.get "messages/in_group/#{group_id}.json", options, headers
90
+ end
91
+
92
+ # Messages about an Open Graph object
93
+ # @param id [#to_s] The Open Graph ID to filter by
94
+ # @param options [Hash] Options for the request
95
+ # @param headers [Hash] Additional headers to send with the request
96
+ # @return [Faraday::Response] the API response
97
+ # @see https://developer.yammer.com/docs/messagesopen_graph_objects
98
+ def open_graph_objects id, options={}, headers={}
99
+ @connection.get "messages/open_graph_objects/#{id}.json", options, headers
100
+ end
101
+
102
+ # Messages about a topic
103
+ # @param topic_id [#to_s] The topic to filter by
104
+ # @param options [Hash] Options for the request
105
+ # @param headers [Hash] Additional headers to send with the request
106
+ # @return [Faraday::Response] the API response
107
+ # @see https://developer.yammer.com/docs/messagesabout_topicidjson
108
+ def about_topic topic_id, options={}, headers={}
109
+ @connection.get "messages/about_topic/#{topic_id}.json", options, headers
110
+ end
111
+
112
+ # Post a new message
113
+ # @param body [#to_s] Body of the request
114
+ # @param headers [Hash] Additional headers to send with the request
115
+ # @return [Faraday::Response] the API response
116
+ # @see https://developer.yammer.com/docs/messages-json-post
117
+ def post body, headers={}
118
+ @connection.post "messages.json", body, headers
119
+ end
120
+
121
+ # E-mail a copy of the message to the current user
122
+ # @param message_id [#to_s] The ID of the message to delete
123
+ # @param body [#to_s] Body of the request (should not need to be used)
124
+ # @param headers [Hash] Additional headers to send with the request
125
+ # @return [Faraday::Response] the API response
126
+ # @see https://developer.yammer.com/docs/messagesemail
127
+ def email message_id, body=nil, headers={}
128
+ @connection.post "messages/email.json?message_id=#{message_id}", body, headers
129
+ end
130
+
131
+ # Like a message
132
+ # @param message_id [#to_s] The ID of the message to delete
133
+ # @param body [#to_s] Body of the request (should not need to be used)
134
+ # @param headers [Hash] Additional headers to send with the request
135
+ # @return [Faraday::Response] the API response
136
+ # @see https://developer.yammer.com/docs/messagesliked_bycurrentjsonmessage_idid
137
+ def like message_id, body=nil, headers={}
138
+ @connection.post "messages/liked_by/current.json?message_id=#{message_id}", body, headers
139
+ end
140
+
141
+ # Unlike a message
142
+ # @param message_id [#to_s] The ID of the message to delete
143
+ # @param options [Hash] Options for the request
144
+ # @param headers [Hash] Additional headers to send with the request
145
+ # @return [Faraday::Response] the API response
146
+ # @see https://developer.yammer.com/docs/messagesliked_bycurrentjsonmessage_idid-1
147
+ def unlike message_id, options=nil, headers={}
148
+ @connection.delete "messages/liked_by/current.json?message_id=#{message_id}", options, headers
149
+ end
150
+
151
+ # Delete a message
152
+ # @param message_id [#to_s] The ID of the message to delete
153
+ # @param options [Hash] Options for the request
154
+ # @param headers [Hash] Additional headers to send with the request
155
+ # @return [Faraday::Response] the API response
156
+ # @see https://developer.yammer.com/docs/messagesid
157
+ def delete message_id, options=nil, headers={}
158
+ @connection.delete "messages/#{message_id}.json", options, headers
159
+ end
160
+
161
+ end
162
+ end
163
+ end
164
+ end
165
+