slack-ruby-client 0.5.4 → 0.6.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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +17 -14
- data/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +1 -0
- data/README.md +32 -18
- data/Rakefile +4 -1
- data/UPGRADING.md +41 -3
- data/bin/commands.rb +1 -1
- data/bin/commands/api.rb +1 -1
- data/bin/commands/auth.rb +1 -1
- data/bin/commands/channels.rb +3 -3
- data/bin/commands/chat.rb +1 -1
- data/bin/commands/dnd.rb +1 -1
- data/bin/commands/emoji.rb +1 -1
- data/bin/commands/files.rb +2 -1
- data/bin/commands/groups.rb +1 -1
- data/bin/commands/im.rb +1 -1
- data/bin/commands/mpim.rb +1 -1
- data/bin/commands/oauth.rb +1 -1
- data/bin/commands/pins.rb +1 -1
- data/bin/commands/reactions.rb +1 -1
- data/bin/commands/rtm.rb +1 -1
- data/bin/commands/search.rb +1 -1
- data/bin/commands/stars.rb +1 -1
- data/bin/commands/team.rb +1 -1
- data/bin/commands/usergroups.rb +1 -1
- data/bin/commands/users.rb +10 -1
- data/examples/hi_real_time/hi.rb +5 -5
- data/examples/hi_real_time_and_web/hi.rb +4 -4
- data/examples/hi_real_time_async/hi.rb +5 -5
- data/lib/slack-ruby-client.rb +10 -0
- data/lib/slack/messages/message.rb +9 -0
- data/lib/slack/real_time/api/schema/event.json +22 -0
- data/lib/slack/real_time/api/templates/event_handler.erb +18 -0
- data/lib/slack/real_time/api/templates/event_handlers.erb +5 -0
- data/lib/slack/real_time/client.rb +31 -9
- data/lib/slack/real_time/config.rb +3 -1
- data/lib/slack/real_time/event_handlers.rb +66 -0
- data/lib/slack/real_time/event_handlers/accounts_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/bot_added.rb +16 -0
- data/lib/slack/real_time/event_handlers/bot_changed.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_created.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_deleted.rb +16 -0
- data/lib/slack/real_time/event_handlers/channel_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_joined.rb +22 -0
- data/lib/slack/real_time/event_handlers/channel_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/commands_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated_user.rb +18 -0
- data/lib/slack/real_time/event_handlers/email_domain_changed.rb +16 -0
- data/lib/slack/real_time/event_handlers/emoji_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_edited.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_private.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_public.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_shared.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_unshared.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_joined.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/im_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_created.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/manual_presence_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/pin_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/pin_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/presence_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/reaction_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/reaction_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/reconnect_url.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_domain_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/team_join.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_migration_started.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_plan_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_profile_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_delete.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_reorder.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_rename.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_typing.rb +18 -0
- data/lib/slack/real_time/models.rb +7 -0
- data/lib/slack/real_time/models/base.rb +11 -0
- data/lib/slack/real_time/models/bot.rb +8 -0
- data/lib/slack/real_time/models/channel.rb +8 -0
- data/lib/slack/real_time/models/group.rb +8 -0
- data/lib/slack/real_time/models/im.rb +8 -0
- data/lib/slack/real_time/models/team.rb +8 -0
- data/lib/slack/real_time/models/user.rb +8 -0
- data/lib/slack/real_time/store.rb +47 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +1 -1
- data/lib/slack/web/api/endpoints/api.rb +1 -1
- data/lib/slack/web/api/endpoints/auth.rb +1 -1
- data/lib/slack/web/api/endpoints/channels.rb +2 -4
- data/lib/slack/web/api/endpoints/chat.rb +1 -1
- data/lib/slack/web/api/endpoints/dnd.rb +1 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -1
- data/lib/slack/web/api/endpoints/files.rb +4 -1
- data/lib/slack/web/api/endpoints/groups.rb +1 -1
- data/lib/slack/web/api/endpoints/im.rb +1 -1
- data/lib/slack/web/api/endpoints/mpim.rb +1 -1
- data/lib/slack/web/api/endpoints/oauth.rb +1 -1
- data/lib/slack/web/api/endpoints/pins.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +1 -1
- data/lib/slack/web/api/endpoints/rtm.rb +1 -1
- data/lib/slack/web/api/endpoints/search.rb +1 -1
- data/lib/slack/web/api/endpoints/stars.rb +1 -1
- data/lib/slack/web/api/endpoints/team.rb +1 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +1 -1
- data/lib/slack/web/api/endpoints/users.rb +1 -1
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +2 -2
- data/lib/slack/web/api/mixins/groups.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.search.json +19 -0
- data/lib/slack/web/api/mixins/users.search.rb +43 -0
- data/lib/slack/web/api/templates/command.erb +1 -1
- data/lib/slack/web/api/templates/commands.erb +1 -1
- data/lib/slack/web/api/templates/endpoints.erb +1 -1
- data/lib/slack/web/api/templates/method.erb +1 -1
- data/lib/slack/web/api/templates/method_spec.erb +20 -0
- data/lib/slack/web/faraday/connection.rb +1 -0
- data/lib/tasks/git.rake +7 -0
- data/lib/tasks/real_time.rake +45 -0
- data/lib/tasks/update.rake +9 -0
- data/lib/{slack/web/api/tasks/generate.rake → tasks/web.rake} +6 -6
- data/slack-ruby-client.gemspec +1 -0
- data/spec/fixtures/slack/web/rtm_start.yml +53 -22
- data/spec/integration/integration_spec.rb +5 -5
- data/spec/slack/real_time/client_spec.rb +72 -10
- data/spec/slack/real_time/event_handlers/bot_spec.rb +42 -0
- data/spec/slack/real_time/event_handlers/channel_spec.rb +116 -0
- data/spec/slack/real_time/event_handlers/group_spec.rb +90 -0
- data/spec/slack/real_time/event_handlers/im_spec.rb +47 -0
- data/spec/slack/real_time/event_handlers/team_spec.rb +58 -0
- data/spec/slack/real_time/event_handlers/user_spec.rb +61 -0
- data/spec/slack/real_time/rtm_start_spec.rb +13 -0
- data/spec/slack/real_time/store_spec.rb +11 -0
- data/spec/slack/slack_spec.rb +6 -6
- data/spec/slack/web/api/endpoints/api_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/{auth_spec.rb → custom_specs/auth_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{channels_spec.rb → custom_specs/channels_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/{chat_spec.rb → custom_specs/chat_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{groups_spec.rb → custom_specs/groups_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +23 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +12 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +17 -0
- data/spec/slack/web/api/endpoints/rtm_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +35 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +6 -6
- data/spec/slack/web/api/mixins/groups_spec.rb +6 -6
- data/spec/slack/web/api/mixins/users_spec.rb +12 -6
- data/spec/support/real_time/event.rb +11 -0
- metadata +159 -13
- data/spec/slack/web/api/endpoints/users_spec.rb +0 -17
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module SubteamSelfAdded
|
7
|
+
# # You have been added to a user group.
|
8
|
+
# # @see https://api.slack.com/events/subteam_self_added
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_self_added.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['subteam_self_added'] = Slack::RealTime::EventHandlers::SubteamSelfAdded
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module SubteamSelfRemoved
|
7
|
+
# # You have been removed from a user group.
|
8
|
+
# # @see https://api.slack.com/events/subteam_self_removed
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_self_removed.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['subteam_self_removed'] = Slack::RealTime::EventHandlers::SubteamSelfRemoved
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module SubteamUpdated
|
7
|
+
# # An existing user group has been updated or its members changed.
|
8
|
+
# # @see https://api.slack.com/events/subteam_updated
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/subteam_updated.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['subteam_updated'] = Slack::RealTime::EventHandlers::SubteamUpdated
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module TeamDomainChange
|
5
|
+
# The team domain has changed.
|
6
|
+
# @see https://api.slack.com/events/team_domain_change
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/team_domain_change.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.team.url = data.url
|
10
|
+
client.team.domain = data.domain
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Slack::RealTime::Client.events['team_domain_change'] = Slack::RealTime::EventHandlers::TeamDomainChange
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module TeamJoin
|
5
|
+
# A new team member has joined.
|
6
|
+
# @see https://api.slack.com/events/team_join
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/team_join.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.users[data.user.id] = Models::User.new(data.user)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['team_join'] = Slack::RealTime::EventHandlers::TeamJoin
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module TeamMigrationStarted
|
7
|
+
# # The team is being migrated between servers.
|
8
|
+
# # @see https://api.slack.com/events/team_migration_started
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_migration_started.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['team_migration_started'] = Slack::RealTime::EventHandlers::TeamMigrationStarted
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module TeamPlanChange
|
5
|
+
# The team billing plan has changed.
|
6
|
+
# @see https://api.slack.com/events/team_plan_change
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/team_plan_change.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.team.plan = data.plan
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['team_plan_change'] = Slack::RealTime::EventHandlers::TeamPlanChange
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module TeamPrefChange
|
5
|
+
# A team preference has been updated.
|
6
|
+
# @see https://api.slack.com/events/team_pref_change
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/team_pref_change.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.team.prefs[data.name] = data.value
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['team_pref_change'] = Slack::RealTime::EventHandlers::TeamPrefChange
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module TeamProfileChange
|
7
|
+
# # Team profile fields have been updated.
|
8
|
+
# # @see https://api.slack.com/events/team_profile_change
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_change.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['team_profile_change'] = Slack::RealTime::EventHandlers::TeamProfileChange
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module TeamProfileDelete
|
7
|
+
# # Team profile fields have been deleted.
|
8
|
+
# # @see https://api.slack.com/events/team_profile_delete
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_delete.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['team_profile_delete'] = Slack::RealTime::EventHandlers::TeamProfileDelete
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module TeamProfileReorder
|
7
|
+
# # Team profile fields have been reordered.
|
8
|
+
# # @see https://api.slack.com/events/team_profile_reorder
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/team_profile_reorder.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['team_profile_reorder'] = Slack::RealTime::EventHandlers::TeamProfileReorder
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module TeamRename
|
5
|
+
# The team name has changed.
|
6
|
+
# @see https://api.slack.com/events/team_rename
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/team_rename.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.team.name = data.name
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['team_rename'] = Slack::RealTime::EventHandlers::TeamRename
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module UserChange
|
5
|
+
# A team member's data has changed.
|
6
|
+
# @see https://api.slack.com/events/user_change
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/user_change.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.users[data.user.id] = Models::User.new(data.user)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['user_change'] = Slack::RealTime::EventHandlers::UserChange
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module UserTyping
|
7
|
+
# # A channel member is typing a message.
|
8
|
+
# # @see https://api.slack.com/events/user_typing
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/user_typing.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['user_typing'] = Slack::RealTime::EventHandlers::UserTyping
|
@@ -0,0 +1,7 @@
|
|
1
|
+
require 'slack/real_time/models/base'
|
2
|
+
require 'slack/real_time/models/user'
|
3
|
+
require 'slack/real_time/models/bot'
|
4
|
+
require 'slack/real_time/models/channel'
|
5
|
+
require 'slack/real_time/models/group'
|
6
|
+
require 'slack/real_time/models/team'
|
7
|
+
require 'slack/real_time/models/im'
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
class Store
|
4
|
+
attr_accessor :users
|
5
|
+
attr_accessor :bots
|
6
|
+
attr_accessor :channels
|
7
|
+
attr_accessor :groups
|
8
|
+
attr_accessor :teams
|
9
|
+
attr_accessor :ims
|
10
|
+
|
11
|
+
def self
|
12
|
+
users[@self_id]
|
13
|
+
end
|
14
|
+
|
15
|
+
def team
|
16
|
+
teams[@team_id]
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(attrs)
|
20
|
+
if attrs.team
|
21
|
+
@team_id = attrs.team.id
|
22
|
+
@teams = { @team_id => Models::Team.new(attrs.team) }
|
23
|
+
else
|
24
|
+
@teams = {}
|
25
|
+
end
|
26
|
+
|
27
|
+
{
|
28
|
+
'users' => Models::User,
|
29
|
+
'channels' => Models::Channel,
|
30
|
+
'bots' => Models::Bot,
|
31
|
+
'groups' => Models::Group,
|
32
|
+
'ims' => Models::Im
|
33
|
+
}.each_pair do |key, klass|
|
34
|
+
instance_variable_set "@#{key}", {}
|
35
|
+
attrs[key].each do |data|
|
36
|
+
instance_variable_get("@#{key}").send(:[]=, data.id, klass.new(data))
|
37
|
+
end if attrs.key?(key)
|
38
|
+
end
|
39
|
+
|
40
|
+
if attrs.self
|
41
|
+
@self_id = attrs.self.id
|
42
|
+
@users[@self_id].merge!(attrs.self)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/slack/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# This file was auto-generated by lib/
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
2
|
|
3
3
|
module Slack
|
4
4
|
module Web
|
@@ -31,9 +31,7 @@ module Slack
|
|
31
31
|
end
|
32
32
|
|
33
33
|
#
|
34
|
-
# This method returns a portion of
|
35
|
-
# To read the entire history for a channel, call the method with no latest or
|
36
|
-
# oldest arguments, and then continue paging using the instructions below.
|
34
|
+
# This method returns a portion of message events from the specified channel.
|
37
35
|
#
|
38
36
|
# @option options [channel] :channel
|
39
37
|
# Channel to fetch history for.
|