slack-ruby-client 0.7.7 → 0.7.8

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: 3f5e10e7b0b264ec6b852aad6693f3ce649b9ebc
4
- data.tar.gz: 8f071b342768ac23044d1bef1cdff20677e7fb51
3
+ metadata.gz: c5793c41e4f30d4ce46c8b5340efb2eb7cff89ca
4
+ data.tar.gz: 9eef47649e6fb3e914ff2b9f02c3854a0f3dfcd0
5
5
  SHA512:
6
- metadata.gz: d2dc1764939357dcca97aeafa335615b9acb3d52e24290025c395f0ad38f52d4d69a232cb314956709ae0f3096350e60b0a60db0cdf0477c513d9ef338252892
7
- data.tar.gz: 199bbeafef16af488a793cf57b58a335de87fa2a5b6249a59bda227385f87c4be230ed9fc04fa8ed1d1951c8c60f0eea127105e1cd63d0b2d8acda3741869faf
6
+ metadata.gz: e40a3979c8bca20a1f2f7415e571c9d40494940094bdb429d7845fa45ca1c5a6a9ba0cc27eb55b54247a847302e161ff0e012140dd8d95cac0b4631af5beeb91
7
+ data.tar.gz: d69d8327ee9c4eae89a6a85eb653a45c7bb27d038431993e55220661579fdeaf6bafeea64526ce2cde2d255bd8eba903ccc998bcf6dbc407d92f6a77cd9c3bb7
@@ -1,3 +1,3 @@
1
1
  [submodule "lib/slack/web/api/slack-api-ref"]
2
2
  path = lib/slack/web/api/slack-api-ref
3
- url = git@github.com:dblock/slack-api-ref.git
3
+ url = git@github.com:slack-ruby/slack-api-ref.git
@@ -4,12 +4,12 @@ cache: bundler
4
4
 
5
5
  matrix:
6
6
  include:
7
- - rvm: 2.3.0
7
+ - rvm: 2.3.1
8
8
  script:
9
9
  - bundle exec danger
10
- - rvm: 2.3.0
10
+ - rvm: 2.3.1
11
11
  env: CONCURRENCY=celluloid-io
12
- - rvm: 2.3.0
12
+ - rvm: 2.3.1
13
13
  env: CONCURRENCY=faye-websocket
14
14
  - rvm: 2.2
15
15
  - rvm: 2.1
@@ -1,3 +1,15 @@
1
+ ### 0.7.8 (1/23/2017)
2
+
3
+ * [#127](https://github.com/slack-ruby/slack-ruby-client/pull/127): Added `thread_ts` and `reply_broadcast` options to `chat_postMessage` in Web API - [@dblock](https://github.com/dblock).
4
+ * [#127](https://github.com/slack-ruby/slack-ruby-client/pull/127): Added `channels_replies`, `groups_replies` and `im_replies` to Web API - [@dblock](https://github.com/dblock).
5
+ * [#127](https://github.com/slack-ruby/slack-ruby-client/pull/127): Added `goodbye` event to the RTM API - [@dblock](https://github.com/dblock).
6
+ * [#127](https://github.com/slack-ruby/slack-ruby-client/pull/127): Added `before` to `team_accessLogs` - [@dblock](https://github.com/dblock).
7
+ * [#108](https://github.com/slack-ruby/slack-ruby-client/pull/108): Use slack-ruby-danger gem - [@dblock](https://github.com/dblock).
8
+ * [#116](https://github.com/slack-ruby/slack-ruby-client/pull/116): Use [slack-ruby/slack-api-ref](https://github.com/slack-ruby/slack-api-ref) as machine API reference - [@dblock](https://github.com/dblock).
9
+ * [#116](https://github.com/slack-ruby/slack-ruby-client/pull/116): Added `users_setPhoto` and `users_deletePhoto` to Web API - [@dblock](https://github.com/dblock).
10
+ * [#81](https://github.com/slack-ruby/slack-ruby-client/pull/81): Require faraday 0.9.0 or newer - [@leppert](https://github.com/leppert).
11
+ * [#123](https://github.com/slack-ruby/slack-ruby-client/pull/123): Fix a warning about duplicate definitions - [@michaelherold](https://github.com/michaelherold).
12
+
1
13
  ### 0.7.7 (8/29/2016)
2
14
 
3
15
  * [#103](https://github.com/slack-ruby/slack-ruby-client/pull/103): Added Danger, PR linting - [@dblock](https://github.com/dblock).
@@ -19,7 +31,7 @@
19
31
 
20
32
  ### 0.7.4 (5/28/2016)
21
33
 
22
- * [#93](https://github.com/slack-ruby/slack-ruby-client/pull/93): Fix: When using Celluloid concurrency, handle input from the TCP socket asynchronously from reading more. - [@benzrf](https://github.com/benzrf).
34
+ * [#93](https://github.com/slack-ruby/slack-ruby-client/pull/93): Fix: When using Celluloid concurrency, handle input from the TCP socket asynchronously from reading more - [@benzrf](https://github.com/benzrf).
23
35
  * Added `auth_revoke` and `users_identity` to Web API - [@dblock](https://github.com/dblock).
24
36
  * Added `channel` parameter to `files_comments_add` Web API - [@dblock](https://github.com/dblock).
25
37
 
@@ -59,7 +71,7 @@
59
71
 
60
72
  * [#45](https://github.com/slack-ruby/slack-ruby-client/issues/45): Added `channels_id`, `groups_id` and `users_id` - [@dblock](https://github.com/dblock).
61
73
  * [#45](https://github.com/slack-ruby/slack-ruby-client/issues/45): Automatically lookup channel, group and user ID in Web API methods when Slack API doesn't accept #channel or @user names - [@dblock](https://github.com/dblock).
62
- * [#49](https://github.com/slack-ruby/slack-ruby-client/pull/49): Fix: Celluloid `#connected?` method. - [@mikz](https://github.com/mikz), [@kandadaboggu](https://github.com/kandadaboggu).
74
+ * [#49](https://github.com/slack-ruby/slack-ruby-client/pull/49): Fix: Celluloid `#connected?` method - [@mikz](https://github.com/mikz), [@kandadaboggu](https://github.com/kandadaboggu).
63
75
 
64
76
  ### 0.5.3 (1/11/2016)
65
77
 
data/Dangerfile CHANGED
@@ -1 +1 @@
1
- # inherits from https://github.com/slack-ruby/danger
1
+ danger.import_dangerfile(gem: 'slack-ruby-danger')
data/Gemfile CHANGED
@@ -5,4 +5,7 @@ gemspec
5
5
  gem ENV['CONCURRENCY'], require: false if ENV.key?('CONCURRENCY')
6
6
  gem 'picky' unless RUBY_PLATFORM == 'java'
7
7
  gem 'activesupport', '~> 4.0'
8
- gem 'danger', '~> 2.0'
8
+
9
+ group :test do
10
+ gem 'slack-ruby-danger', '~> 0.1.0', require: false
11
+ end
data/README.md CHANGED
@@ -18,7 +18,7 @@ A Ruby client for the Slack [Web](https://api.slack.com/web) and [RealTime Messa
18
18
 
19
19
  ## Stable Release
20
20
 
21
- You're reading the documentation for the **stable** release of slack-ruby-client. See [UPGRADING](UPGRADING.md) when upgrading from an older version.
21
+ You're reading the documentation for the **stable** release of slack-ruby-client, 0.7.8. See [UPGRADING](UPGRADING.md) when upgrading from an older version.
22
22
 
23
23
  ## Installation
24
24
 
@@ -1,6 +1,6 @@
1
1
  # Releasing Slack-Ruby-Client
2
2
 
3
- There're no hard rules about when to release slack-ruby-client. Release bug fixes frequenty, features not so frequently and breaking API changes rarely.
3
+ There're no hard rules about when to release slack-ruby-client. Release bug fixes frequently, features not so frequently and breaking API changes rarely.
4
4
 
5
5
  ### Release
6
6
 
@@ -60,7 +60,7 @@ Next Release
60
60
 
61
61
  Increment the third version number in [lib/slack/version.rb](lib/slack/version.rb).
62
62
 
63
- Comit your changes.
63
+ Commit your changes.
64
64
 
65
65
  ```
66
66
  git add CHANGELOG.md lib/slack/version.rb
@@ -109,6 +109,16 @@ command 'channels' do |g|
109
109
  end
110
110
  end
111
111
 
112
+ g.desc 'This method returns an entire thread (a message plus all the messages in reply to it).'
113
+ g.long_desc %( This method returns an entire thread (a message plus all the messages in reply to it). )
114
+ g.command 'replies' do |c|
115
+ c.flag 'channel', desc: 'Channel to fetch thread from.'
116
+ c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
117
+ c.action do |_global_options, options, _args|
118
+ puts JSON.dump($client.channels_replies(options))
119
+ end
120
+ end
121
+
112
122
  g.desc 'This method is used to change the purpose of a channel. The calling user must be a member of the channel.'
113
123
  g.long_desc %( This method is used to change the purpose of a channel. The calling user must be a member of the channel. )
114
124
  g.command 'setPurpose' do |c|
@@ -36,7 +36,9 @@ command 'chat' do |g|
36
36
  c.flag 'username', desc: "Set your bot's user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below."
37
37
  c.flag 'as_user', desc: 'Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below.'
38
38
  c.flag 'icon_url', desc: 'URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
39
- c.flag 'icon_emoji', desc: 'emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
39
+ c.flag 'icon_emoji', desc: 'Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
40
+ c.flag 'thread_ts', desc: "Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead."
41
+ c.flag 'reply_broadcast', desc: 'Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.'
40
42
  c.action do |_global_options, options, _args|
41
43
  puts JSON.dump($client.chat_postMessage(options))
42
44
  end
@@ -127,6 +127,16 @@ command 'groups' do |g|
127
127
  end
128
128
  end
129
129
 
130
+ g.desc 'This method returns an entire thread (a message plus all the messages in reply to it).'
131
+ g.long_desc %( This method returns an entire thread (a message plus all the messages in reply to it). )
132
+ g.command 'replies' do |c|
133
+ c.flag 'channel', desc: 'Private channel to fetch thread from.'
134
+ c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
135
+ c.action do |_global_options, options, _args|
136
+ puts JSON.dump($client.groups_replies(options))
137
+ end
138
+ end
139
+
130
140
  g.desc 'This method is used to change the purpose of a private channel. The calling user must be a member of the private channel.'
131
141
  g.long_desc %( This method is used to change the purpose of a private channel. The calling user must be a member of the private channel. )
132
142
  g.command 'setPurpose' do |c|
@@ -51,4 +51,14 @@ command 'im' do |g|
51
51
  puts JSON.dump($client.im_open(options))
52
52
  end
53
53
  end
54
+
55
+ g.desc 'This method returns an entire thread (a message plus all the messages in reply to it).'
56
+ g.long_desc %( This method returns an entire thread (a message plus all the messages in reply to it). )
57
+ g.command 'replies' do |c|
58
+ c.flag 'channel', desc: 'Direct message channel to fetch thread from.'
59
+ c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
60
+ c.action do |_global_options, options, _args|
61
+ puts JSON.dump($client.im_replies(options))
62
+ end
63
+ end
54
64
  end
@@ -50,4 +50,14 @@ command 'mpim' do |g|
50
50
  puts JSON.dump($client.mpim_open(options))
51
51
  end
52
52
  end
53
+
54
+ g.desc 'This method returns an entire thread (a message plus all the messages in reply to it).'
55
+ g.long_desc %( This method returns an entire thread (a message plus all the messages in reply to it). )
56
+ g.command 'replies' do |c|
57
+ c.flag 'channel', desc: 'Multiparty direct message channel to fetch thread from.'
58
+ c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
59
+ c.action do |_global_options, options, _args|
60
+ puts JSON.dump($client.mpim_replies(options))
61
+ end
62
+ end
53
63
  end
@@ -5,6 +5,7 @@ command 'team' do |g|
5
5
  g.desc 'This method is used to get the access logs for users on a team.'
6
6
  g.long_desc %( This method is used to get the access logs for users on a team. )
7
7
  g.command 'accessLogs' do |c|
8
+ c.flag 'before', desc: 'End of time range of logs to include in results (inclusive).'
8
9
  c.action do |_global_options, options, _args|
9
10
  puts JSON.dump($client.team_accessLogs(options))
10
11
  end
@@ -2,6 +2,14 @@
2
2
 
3
3
  desc 'Get info on members of your Slack team.'
4
4
  command 'users' do |g|
5
+ g.desc 'This method allows the user to delete their profile image. It will clear whatever image is currently set.'
6
+ g.long_desc %( This method allows the user to delete their profile image. It will clear whatever image is currently set. )
7
+ g.command 'deletePhoto' do |c|
8
+ c.action do |_global_options, options, _args|
9
+ puts JSON.dump($client.users_deletePhoto(options))
10
+ end
11
+ end
12
+
5
13
  g.desc "This method lets you find out information about a user's presence."
6
14
  g.long_desc %( This method lets you find out information about a user's presence. Consult the presence documentation for more details. )
7
15
  g.command 'getPresence' do |c|
@@ -45,6 +53,18 @@ command 'users' do |g|
45
53
  end
46
54
  end
47
55
 
56
+ g.desc 'This method allows the user to set their profile image. The caller can pass image data via image.'
57
+ g.long_desc %( This method allows the user to set their profile image. The caller can pass image data via image. )
58
+ g.command 'setPhoto' do |c|
59
+ c.flag 'image', desc: 'File contents via multipart/form-data.'
60
+ c.flag 'crop_x', desc: 'X coordinate of top-left corner of crop box.'
61
+ c.flag 'crop_y', desc: 'Y coordinate of top-left corner of crop box.'
62
+ c.flag 'crop_w', desc: 'Width/height of crop box (always square).'
63
+ c.action do |_global_options, options, _args|
64
+ puts JSON.dump($client.users_setPhoto(options))
65
+ end
66
+ end
67
+
48
68
  g.desc "This method lets you set the calling user's manual presence."
49
69
  g.long_desc %( This method lets you set the calling user's manual presence. Consult the presence documentation for more details. )
50
70
  g.command 'setPresence' do |c|
@@ -15,7 +15,7 @@ command 'users_profile' do |g|
15
15
  g.desc 'This method is used to set the profile information for a user.'
16
16
  g.long_desc %( This method is used to set the profile information for a user. )
17
17
  g.command 'set' do |c|
18
- c.flag 'user', desc: 'ID of user to change. This argument may only be specified by team admins.'
18
+ c.flag 'user', desc: 'ID of user to change. This argument may only be specified by team admins on paid teams.'
19
19
  c.flag 'profile', desc: 'Collection of key:value pairs presented as a URL-encoded JSON hash.'
20
20
  c.flag 'name', desc: 'Name of a single key to set. Usable only if profile is not passed.'
21
21
  c.flag 'value', desc: 'Value to set a single key to. Usable only if profile is not passed.'
@@ -14,7 +14,7 @@ client.chat_postMessage(
14
14
  as_user: true,
15
15
  attachments: [
16
16
  {
17
- fallback: "Ticket #1943: Can't rest my password - https://groove.hq/path/to/ticket/1943",
17
+ fallback: "Ticket #1943: Can't reset my password - https://groove.hq/path/to/ticket/1943",
18
18
  pretext: 'New ticket from Andrea Lee',
19
19
  title: "Ticket #1943: Can't reset my password",
20
20
  title_link: 'https://groove.hq/path/to/ticket/1943',
@@ -15,8 +15,7 @@ module Slack
15
15
  BLOCK_SIZE = 4096
16
16
 
17
17
  extend ::Forwardable
18
- def_delegator :socket, :write
19
- def_delegators :driver, :text, :binary, :close
18
+ def_delegators :driver, :text, :binary
20
19
 
21
20
  attr_reader :socket
22
21
 
@@ -14,6 +14,11 @@ module Slack
14
14
 
15
15
  ### RealTime Events
16
16
 
17
+ # The server intends to close the connection soon..
18
+ # @see https://api.slack.com/events/goodbye
19
+ # @see https://github.com/dblock/slack-api-ref/blob/master/events/goodbye.json
20
+ # on :goodbye do |data|
21
+
17
22
  # Verifies ownership of an Events API Request URL.
18
23
  # @see https://api.slack.com/events/url_verification
19
24
  # @see https://github.com/dblock/slack-api-ref/blob/master/events/url_verification.json
@@ -54,6 +54,11 @@ module Slack
54
54
 
55
55
  ### RealTime Events
56
56
 
57
+ # The server intends to close the connection soon..
58
+ # @see https://api.slack.com/events/goodbye
59
+ # @see https://github.com/dblock/slack-api-ref/blob/master/events/goodbye.json
60
+ # on :goodbye do |data|
61
+
57
62
  # Verifies ownership of an Events API Request URL.
58
63
  # @see https://api.slack.com/events/url_verification
59
64
  # @see https://github.com/dblock/slack-api-ref/blob/master/events/url_verification.json
@@ -1,3 +1,3 @@
1
1
  module Slack
2
- VERSION = '0.7.7'.freeze
2
+ VERSION = '0.7.8'.freeze
3
3
  end
@@ -167,6 +167,22 @@ module Slack
167
167
  post('channels.rename', options)
168
168
  end
169
169
 
170
+ #
171
+ # This method returns an entire thread (a message plus all the messages in reply to it).
172
+ #
173
+ # @option options [channel] :channel
174
+ # Channel to fetch thread from.
175
+ # @option options [Object] :thread_ts
176
+ # Unique identifier of a thread's parent message.
177
+ # @see https://api.slack.com/methods/channels.replies
178
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.replies.json
179
+ def channels_replies(options = {})
180
+ throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
181
+ throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
182
+ options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
183
+ post('channels.replies', options)
184
+ end
185
+
170
186
  #
171
187
  # This method is used to change the purpose of a channel. The calling user must be a member of the channel.
172
188
  #
@@ -62,7 +62,11 @@ module Slack
62
62
  # @option options [Object] :icon_url
63
63
  # URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
64
64
  # @option options [Object] :icon_emoji
65
- # emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
65
+ # Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.
66
+ # @option options [Object] :thread_ts
67
+ # Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead.
68
+ # @option options [Object] :reply_broadcast
69
+ # Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.
66
70
  # @see https://api.slack.com/methods/chat.postMessage
67
71
  # @see https://github.com/dblock/slack-api-ref/blob/master/methods/chat/chat.postMessage.json
68
72
  def chat_postMessage(options = {})
@@ -196,6 +196,22 @@ module Slack
196
196
  post('groups.rename', options)
197
197
  end
198
198
 
199
+ #
200
+ # This method returns an entire thread (a message plus all the messages in reply to it).
201
+ #
202
+ # @option options [group] :channel
203
+ # Private channel to fetch thread from.
204
+ # @option options [Object] :thread_ts
205
+ # Unique identifier of a thread's parent message.
206
+ # @see https://api.slack.com/methods/groups.replies
207
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.replies.json
208
+ def groups_replies(options = {})
209
+ throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
210
+ throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
211
+ options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
212
+ post('groups.replies', options)
213
+ end
214
+
199
215
  #
200
216
  # This method is used to change the purpose of a private channel. The calling user must be a member of the private channel.
201
217
  #
@@ -80,6 +80,22 @@ module Slack
80
80
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
81
81
  post('im.open', options)
82
82
  end
83
+
84
+ #
85
+ # This method returns an entire thread (a message plus all the messages in reply to it).
86
+ #
87
+ # @option options [im] :channel
88
+ # Direct message channel to fetch thread from.
89
+ # @option options [Object] :thread_ts
90
+ # Unique identifier of a thread's parent message.
91
+ # @see https://api.slack.com/methods/im.replies
92
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.replies.json
93
+ def im_replies(options = {})
94
+ throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
95
+ throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
96
+ options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
97
+ post('im.replies', options)
98
+ end
83
99
  end
84
100
  end
85
101
  end
@@ -77,6 +77,22 @@ module Slack
77
77
  throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
78
78
  post('mpim.open', options)
79
79
  end
80
+
81
+ #
82
+ # This method returns an entire thread (a message plus all the messages in reply to it).
83
+ #
84
+ # @option options [channel] :channel
85
+ # Multiparty direct message channel to fetch thread from.
86
+ # @option options [Object] :thread_ts
87
+ # Unique identifier of a thread's parent message.
88
+ # @see https://api.slack.com/methods/mpim.replies
89
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.replies.json
90
+ def mpim_replies(options = {})
91
+ throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
92
+ throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
93
+ options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
94
+ post('mpim.replies', options)
95
+ end
80
96
  end
81
97
  end
82
98
  end
@@ -8,6 +8,8 @@ module Slack
8
8
  #
9
9
  # This method is used to get the access logs for users on a team.
10
10
  #
11
+ # @option options [Object] :before
12
+ # End of time range of logs to include in results (inclusive).
11
13
  # @see https://api.slack.com/methods/team.accessLogs
12
14
  # @see https://github.com/dblock/slack-api-ref/blob/master/methods/team/team.accessLogs.json
13
15
  def team_accessLogs(options = {})
@@ -5,6 +5,15 @@ module Slack
5
5
  module Api
6
6
  module Endpoints
7
7
  module Users
8
+ #
9
+ # This method allows the user to delete their profile image. It will clear whatever image is currently set.
10
+ #
11
+ # @see https://api.slack.com/methods/users.deletePhoto
12
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.deletePhoto.json
13
+ def users_deletePhoto(options = {})
14
+ post('users.deletePhoto', options)
15
+ end
16
+
8
17
  #
9
18
  # This method lets you find out information about a user's presence.
10
19
  # Consult the presence documentation for more details.
@@ -63,6 +72,24 @@ module Slack
63
72
  post('users.setActive', options)
64
73
  end
65
74
 
75
+ #
76
+ # This method allows the user to set their profile image. The caller can pass image data via image.
77
+ #
78
+ # @option options [Object] :image
79
+ # File contents via multipart/form-data.
80
+ # @option options [Object] :crop_x
81
+ # X coordinate of top-left corner of crop box.
82
+ # @option options [Object] :crop_y
83
+ # Y coordinate of top-left corner of crop box.
84
+ # @option options [Object] :crop_w
85
+ # Width/height of crop box (always square).
86
+ # @see https://api.slack.com/methods/users.setPhoto
87
+ # @see https://github.com/dblock/slack-api-ref/blob/master/methods/users/users.setPhoto.json
88
+ def users_setPhoto(options = {})
89
+ throw ArgumentError.new('Required arguments :image missing') if options[:image].nil?
90
+ post('users.setPhoto', options)
91
+ end
92
+
66
93
  #
67
94
  # This method lets you set the calling user's manual presence.
68
95
  # Consult the presence documentation for more details.
@@ -23,7 +23,7 @@ module Slack
23
23
  # This method is used to set the profile information for a user.
24
24
  #
25
25
  # @option options [user] :user
26
- # ID of user to change. This argument may only be specified by team admins.
26
+ # ID of user to change. This argument may only be specified by team admins on paid teams.
27
27
  # @option options [Object] :profile
28
28
  # Collection of key:value pairs presented as a URL-encoded JSON hash.
29
29
  # @option options [Object] :name
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.licenses = ['MIT']
18
18
  s.summary = 'Slack Web and RealTime API client.'
19
19
  s.add_dependency 'activesupport'
20
- s.add_dependency 'faraday'
20
+ s.add_dependency 'faraday', '>= 0.9'
21
21
  s.add_dependency 'faraday_middleware'
22
22
  s.add_dependency 'json'
23
23
  s.add_dependency 'websocket-driver'
@@ -27,4 +27,12 @@ RSpec.describe Slack::Web::Api::Endpoints::Im do
27
27
  expect { client.im_open }.to raise_error ArgumentError, /Required arguments :user missing/
28
28
  end
29
29
  end
30
+ context 'im_replies' do
31
+ it 'requires channel' do
32
+ expect { client.im_replies(thread_ts: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
33
+ end
34
+ it 'requires thread_ts' do
35
+ expect { client.im_replies(channel: 'C1234567890') }.to raise_error ArgumentError, /Required arguments :thread_ts missing/
36
+ end
37
+ end
30
38
  end
@@ -27,4 +27,12 @@ RSpec.describe Slack::Web::Api::Endpoints::Mpim do
27
27
  expect { client.mpim_open }.to raise_error ArgumentError, /Required arguments :users missing/
28
28
  end
29
29
  end
30
+ context 'mpim_replies' do
31
+ it 'requires channel' do
32
+ expect { client.mpim_replies(thread_ts: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
33
+ end
34
+ it 'requires thread_ts' do
35
+ expect { client.mpim_replies(channel: 'C1234567890') }.to raise_error ArgumentError, /Required arguments :thread_ts missing/
36
+ end
37
+ end
30
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.7
4
+ version: 0.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-29 00:00:00.000000000 Z
11
+ date: 2017-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '0.9'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '0.9'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday_middleware
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -449,7 +449,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
449
449
  version: 1.3.6
450
450
  requirements: []
451
451
  rubyforge_project:
452
- rubygems_version: 2.5.1
452
+ rubygems_version: 2.6.8
453
453
  signing_key:
454
454
  specification_version: 4
455
455
  summary: Slack Web and RealTime API client.