slack-ruby-client 0.5.4 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|