slack_resources 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circleci/config.yml +87 -0
- data/.circleci/gem_deployment.rb +53 -0
- data/.gitignore +13 -0
- data/.rubocop.yml +104 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +93 -0
- data/README.md +29 -0
- data/Rakefile +6 -0
- data/lib/generate_event_api_resources.rb +8 -0
- data/lib/slack_resources.rb +11 -0
- data/lib/slack_resources/generator/event_api/examples_preparation.rb +71 -0
- data/lib/slack_resources/generator/event_api/fetch.rb +111 -0
- data/lib/slack_resources/generator/event_api/strong_hash.rb +25 -0
- data/lib/slack_resources/generator/event_api/to_schema.rb +200 -0
- data/lib/slack_resources/generator/event_api/type_detection.rb +272 -0
- data/lib/slack_resources/generator/event_api/write.rb +123 -0
- data/lib/slack_resources/raw_data/event_api/_added_examples/emoji_changed.add.json +7 -0
- data/lib/slack_resources/raw_data/event_api/_added_examples/emoji_changed.remove.json +6 -0
- data/lib/slack_resources/raw_data/event_api/_added_examples/event_callback.json +13 -0
- data/lib/slack_resources/raw_data/event_api/examples/app_mention.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/app_rate_limited.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/app_uninstalled.json +11 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_archive.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_created.json +9 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_deleted.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_history_changed.json +6 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_left.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_rename.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/channel_unarchive.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/dnd_updated.json +11 -0
- data/lib/slack_resources/raw_data/event_api/examples/dnd_updated_user.json +9 -0
- data/lib/slack_resources/raw_data/event_api/examples/email_domain_changed.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/emoji_changed.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_change.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_comment_added.json +9 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_comment_deleted.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_comment_edited.json +9 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_created.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_deleted.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_public.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_shared.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/file_unshared.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/grid_migration_finished.json +12 -0
- data/lib/slack_resources/raw_data/event_api/examples/grid_migration_started.json +12 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_archive.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_close.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_deleted.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_history_changed.json +6 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_left.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_open.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_rename.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/group_unarchive.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/im_close.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/im_created.json +6 -0
- data/lib/slack_resources/raw_data/event_api/examples/im_history_changed.json +6 -0
- data/lib/slack_resources/raw_data/event_api/examples/im_open.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/link_shared.json +33 -0
- data/lib/slack_resources/raw_data/event_api/examples/member_joined_channel.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/member_left_channel.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.app_home.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.channels.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.groups.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.im.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/message.mpim.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/pin_added.json +8 -0
- data/lib/slack_resources/raw_data/event_api/examples/pin_removed.json +9 -0
- data/lib/slack_resources/raw_data/event_api/examples/reaction_added.json +12 -0
- data/lib/slack_resources/raw_data/event_api/examples/reaction_removed.json +12 -0
- data/lib/slack_resources/raw_data/event_api/examples/resources_added.json +31 -0
- data/lib/slack_resources/raw_data/event_api/examples/resources_removed.json +31 -0
- data/lib/slack_resources/raw_data/event_api/examples/scope_denied.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/scope_granted.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/star_added.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/star_removed.json +7 -0
- data/lib/slack_resources/raw_data/event_api/examples/subteam_created.json +28 -0
- data/lib/slack_resources/raw_data/event_api/examples/subteam_members_changed.json +17 -0
- data/lib/slack_resources/raw_data/event_api/examples/subteam_self_added.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/subteam_self_removed.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/subteam_updated.json +34 -0
- data/lib/slack_resources/raw_data/event_api/examples/team_domain_change.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/team_join.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/team_rename.json +4 -0
- data/lib/slack_resources/raw_data/event_api/examples/tokens_revoked.json +19 -0
- data/lib/slack_resources/raw_data/event_api/examples/url_verification.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/user_change.json +5 -0
- data/lib/slack_resources/raw_data/event_api/examples/user_resource_denied.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/user_resource_granted.json +20 -0
- data/lib/slack_resources/raw_data/event_api/examples/user_resource_removed.json +16 -0
- data/lib/slack_resources/raw_data/event_api/meta.json +834 -0
- data/lib/slack_resources/raw_data/event_api/preset_schemas.json +33 -0
- data/lib/slack_resources/resources/event_api.rb +38 -0
- data/lib/slack_resources/resources/event_api/details/app_mention.json +85 -0
- data/lib/slack_resources/resources/event_api/details/app_rate_limited.json +80 -0
- data/lib/slack_resources/resources/event_api/details/app_uninstalled.json +36 -0
- data/lib/slack_resources/resources/event_api/details/channel_archive.json +59 -0
- data/lib/slack_resources/resources/event_api/details/channel_created.json +82 -0
- data/lib/slack_resources/resources/event_api/details/channel_deleted.json +48 -0
- data/lib/slack_resources/resources/event_api/details/channel_history_changed.json +66 -0
- data/lib/slack_resources/resources/event_api/details/channel_left.json +48 -0
- data/lib/slack_resources/resources/event_api/details/channel_rename.json +77 -0
- data/lib/slack_resources/resources/event_api/details/channel_unarchive.json +59 -0
- data/lib/slack_resources/resources/event_api/details/dnd_updated.json +86 -0
- data/lib/slack_resources/resources/event_api/details/dnd_updated_user.json +82 -0
- data/lib/slack_resources/resources/event_api/details/email_domain_changed.json +56 -0
- data/lib/slack_resources/resources/event_api/details/emoji_changed.add.json +78 -0
- data/lib/slack_resources/resources/event_api/details/emoji_changed.json +103 -0
- data/lib/slack_resources/resources/event_api/details/emoji_changed.remove.json +77 -0
- data/lib/slack_resources/resources/event_api/details/event_callback.json +126 -0
- data/lib/slack_resources/resources/event_api/details/file_change.json +69 -0
- data/lib/slack_resources/resources/event_api/details/file_comment_added.json +85 -0
- data/lib/slack_resources/resources/event_api/details/file_comment_deleted.json +80 -0
- data/lib/slack_resources/resources/event_api/details/file_comment_edited.json +85 -0
- data/lib/slack_resources/resources/event_api/details/file_created.json +69 -0
- data/lib/slack_resources/resources/event_api/details/file_deleted.json +59 -0
- data/lib/slack_resources/resources/event_api/details/file_public.json +69 -0
- data/lib/slack_resources/resources/event_api/details/file_shared.json +69 -0
- data/lib/slack_resources/resources/event_api/details/file_unshared.json +69 -0
- data/lib/slack_resources/resources/event_api/details/grid_migration_finished.json +47 -0
- data/lib/slack_resources/resources/event_api/details/grid_migration_started.json +47 -0
- data/lib/slack_resources/resources/event_api/details/group_archive.json +48 -0
- data/lib/slack_resources/resources/event_api/details/group_close.json +59 -0
- data/lib/slack_resources/resources/event_api/details/group_deleted.json +48 -0
- data/lib/slack_resources/resources/event_api/details/group_history_changed.json +64 -0
- data/lib/slack_resources/resources/event_api/details/group_left.json +48 -0
- data/lib/slack_resources/resources/event_api/details/group_open.json +59 -0
- data/lib/slack_resources/resources/event_api/details/group_rename.json +77 -0
- data/lib/slack_resources/resources/event_api/details/group_unarchive.json +48 -0
- data/lib/slack_resources/resources/event_api/details/im_close.json +59 -0
- data/lib/slack_resources/resources/event_api/details/im_created.json +73 -0
- data/lib/slack_resources/resources/event_api/details/im_history_changed.json +64 -0
- data/lib/slack_resources/resources/event_api/details/im_open.json +59 -0
- data/lib/slack_resources/resources/event_api/details/link_shared.json +129 -0
- data/lib/slack_resources/resources/event_api/details/member_joined_channel.json +87 -0
- data/lib/slack_resources/resources/event_api/details/member_left_channel.json +79 -0
- data/lib/slack_resources/resources/event_api/details/message.app_home.json +93 -0
- data/lib/slack_resources/resources/event_api/details/message.channels.json +93 -0
- data/lib/slack_resources/resources/event_api/details/message.groups.json +93 -0
- data/lib/slack_resources/resources/event_api/details/message.im.json +93 -0
- data/lib/slack_resources/resources/event_api/details/message.json +129 -0
- data/lib/slack_resources/resources/event_api/details/message.mpim.json +93 -0
- data/lib/slack_resources/resources/event_api/details/pin_added.json +86 -0
- data/lib/slack_resources/resources/event_api/details/pin_removed.json +94 -0
- data/lib/slack_resources/resources/event_api/details/reaction_added.json +115 -0
- data/lib/slack_resources/resources/event_api/details/reaction_removed.json +115 -0
- data/lib/slack_resources/resources/event_api/details/resources_added.json +152 -0
- data/lib/slack_resources/resources/event_api/details/resources_removed.json +152 -0
- data/lib/slack_resources/resources/event_api/details/scope_denied.json +91 -0
- data/lib/slack_resources/resources/event_api/details/scope_granted.json +91 -0
- data/lib/slack_resources/resources/event_api/details/star_added.json +75 -0
- data/lib/slack_resources/resources/event_api/details/star_removed.json +75 -0
- data/lib/slack_resources/resources/event_api/details/subteam_created.json +198 -0
- data/lib/slack_resources/resources/event_api/details/subteam_members_changed.json +140 -0
- data/lib/slack_resources/resources/event_api/details/subteam_self_added.json +48 -0
- data/lib/slack_resources/resources/event_api/details/subteam_self_removed.json +48 -0
- data/lib/slack_resources/resources/event_api/details/subteam_updated.json +210 -0
- data/lib/slack_resources/resources/event_api/details/team_domain_change.json +53 -0
- data/lib/slack_resources/resources/event_api/details/team_join.json +53 -0
- data/lib/slack_resources/resources/event_api/details/team_rename.json +48 -0
- data/lib/slack_resources/resources/event_api/details/tokens_revoked.json +76 -0
- data/lib/slack_resources/resources/event_api/details/url_verification.json +52 -0
- data/lib/slack_resources/resources/event_api/details/user_change.json +53 -0
- data/lib/slack_resources/resources/event_api/details/user_resource_denied.json +100 -0
- data/lib/slack_resources/resources/event_api/details/user_resource_granted.json +100 -0
- data/lib/slack_resources/resources/event_api/details/user_resource_removed.json +58 -0
- data/lib/slack_resources/resources/event_api/examples/app_mention.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/app_rate_limited.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/app_uninstalled.json +3 -0
- data/lib/slack_resources/resources/event_api/examples/channel_archive.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/channel_created.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/channel_deleted.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/channel_history_changed.json +6 -0
- data/lib/slack_resources/resources/event_api/examples/channel_left.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/channel_rename.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/channel_unarchive.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/dnd_updated.json +11 -0
- data/lib/slack_resources/resources/event_api/examples/dnd_updated_user.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/email_domain_changed.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/emoji_changed.add.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/emoji_changed.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/emoji_changed.remove.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/event_callback.json +14 -0
- data/lib/slack_resources/resources/event_api/examples/file_change.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/file_comment_added.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/file_comment_deleted.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/file_comment_edited.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/file_created.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/file_deleted.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/file_public.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/file_shared.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/file_unshared.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/grid_migration_finished.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/grid_migration_started.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/group_archive.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/group_close.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/group_deleted.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/group_history_changed.json +6 -0
- data/lib/slack_resources/resources/event_api/examples/group_left.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/group_open.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/group_rename.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/group_unarchive.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/im_close.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/im_created.json +6 -0
- data/lib/slack_resources/resources/event_api/examples/im_history_changed.json +6 -0
- data/lib/slack_resources/resources/event_api/examples/im_open.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/link_shared.json +21 -0
- data/lib/slack_resources/resources/event_api/examples/member_joined_channel.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/member_left_channel.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/message.app_home.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/message.channels.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/message.groups.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/message.im.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/message.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/message.mpim.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/pin_added.json +8 -0
- data/lib/slack_resources/resources/event_api/examples/pin_removed.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/reaction_added.json +12 -0
- data/lib/slack_resources/resources/event_api/examples/reaction_removed.json +12 -0
- data/lib/slack_resources/resources/event_api/examples/resources_added.json +20 -0
- data/lib/slack_resources/resources/event_api/examples/resources_removed.json +20 -0
- data/lib/slack_resources/resources/event_api/examples/scope_denied.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/scope_granted.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/star_added.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/star_removed.json +7 -0
- data/lib/slack_resources/resources/event_api/examples/subteam_created.json +28 -0
- data/lib/slack_resources/resources/event_api/examples/subteam_members_changed.json +17 -0
- data/lib/slack_resources/resources/event_api/examples/subteam_self_added.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/subteam_self_removed.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/subteam_updated.json +34 -0
- data/lib/slack_resources/resources/event_api/examples/team_domain_change.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/team_join.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/team_rename.json +4 -0
- data/lib/slack_resources/resources/event_api/examples/tokens_revoked.json +11 -0
- data/lib/slack_resources/resources/event_api/examples/url_verification.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/user_change.json +5 -0
- data/lib/slack_resources/resources/event_api/examples/user_resource_denied.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/user_resource_granted.json +9 -0
- data/lib/slack_resources/resources/event_api/examples/user_resource_removed.json +5 -0
- data/lib/slack_resources/resources/event_api/schema.json +2261 -0
- data/lib/slack_resources/resources/event_api/schemas/app_mention.json +46 -0
- data/lib/slack_resources/resources/event_api/schemas/app_rate_limited.json +45 -0
- data/lib/slack_resources/resources/event_api/schemas/app_uninstalled.json +17 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_archive.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_created.json +53 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_deleted.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_history_changed.json +32 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_left.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_rename.json +49 -0
- data/lib/slack_resources/resources/event_api/schemas/channel_unarchive.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/dnd_updated.json +52 -0
- data/lib/slack_resources/resources/event_api/schemas/dnd_updated_user.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/email_domain_changed.json +28 -0
- data/lib/slack_resources/resources/event_api/schemas/emoji_changed.add.json +42 -0
- data/lib/slack_resources/resources/event_api/schemas/emoji_changed.json +61 -0
- data/lib/slack_resources/resources/event_api/schemas/emoji_changed.remove.json +40 -0
- data/lib/slack_resources/resources/event_api/schemas/event_callback.json +76 -0
- data/lib/slack_resources/resources/event_api/schemas/file_change.json +39 -0
- data/lib/slack_resources/resources/event_api/schemas/file_comment_added.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/file_comment_deleted.json +46 -0
- data/lib/slack_resources/resources/event_api/schemas/file_comment_edited.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/file_created.json +39 -0
- data/lib/slack_resources/resources/event_api/schemas/file_deleted.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/file_public.json +39 -0
- data/lib/slack_resources/resources/event_api/schemas/file_shared.json +39 -0
- data/lib/slack_resources/resources/event_api/schemas/file_unshared.json +39 -0
- data/lib/slack_resources/resources/event_api/schemas/grid_migration_finished.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/grid_migration_started.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/group_archive.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/group_close.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/group_deleted.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/group_history_changed.json +32 -0
- data/lib/slack_resources/resources/event_api/schemas/group_left.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/group_open.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/group_rename.json +49 -0
- data/lib/slack_resources/resources/event_api/schemas/group_unarchive.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/im_close.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/im_created.json +44 -0
- data/lib/slack_resources/resources/event_api/schemas/im_history_changed.json +32 -0
- data/lib/slack_resources/resources/event_api/schemas/im_open.json +31 -0
- data/lib/slack_resources/resources/event_api/schemas/link_shared.json +74 -0
- data/lib/slack_resources/resources/event_api/schemas/member_joined_channel.json +46 -0
- data/lib/slack_resources/resources/event_api/schemas/member_left_channel.json +42 -0
- data/lib/slack_resources/resources/event_api/schemas/message.app_home.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/message.channels.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/message.groups.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/message.im.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/message.json +82 -0
- data/lib/slack_resources/resources/event_api/schemas/message.mpim.json +50 -0
- data/lib/slack_resources/resources/event_api/schemas/pin_added.json +49 -0
- data/lib/slack_resources/resources/event_api/schemas/pin_removed.json +53 -0
- data/lib/slack_resources/resources/event_api/schemas/reaction_added.json +71 -0
- data/lib/slack_resources/resources/event_api/schemas/reaction_removed.json +71 -0
- data/lib/slack_resources/resources/event_api/schemas/resources_added.json +110 -0
- data/lib/slack_resources/resources/event_api/schemas/resources_removed.json +110 -0
- data/lib/slack_resources/resources/event_api/schemas/scope_denied.json +57 -0
- data/lib/slack_resources/resources/event_api/schemas/scope_granted.json +57 -0
- data/lib/slack_resources/resources/event_api/schemas/star_added.json +42 -0
- data/lib/slack_resources/resources/event_api/schemas/star_removed.json +42 -0
- data/lib/slack_resources/resources/event_api/schemas/subteam_created.json +150 -0
- data/lib/slack_resources/resources/event_api/schemas/subteam_members_changed.json +76 -0
- data/lib/slack_resources/resources/event_api/schemas/subteam_self_added.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/subteam_self_removed.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/subteam_updated.json +156 -0
- data/lib/slack_resources/resources/event_api/schemas/team_domain_change.json +25 -0
- data/lib/slack_resources/resources/event_api/schemas/team_join.json +28 -0
- data/lib/slack_resources/resources/event_api/schemas/team_rename.json +24 -0
- data/lib/slack_resources/resources/event_api/schemas/tokens_revoked.json +46 -0
- data/lib/slack_resources/resources/event_api/schemas/url_verification.json +25 -0
- data/lib/slack_resources/resources/event_api/schemas/user_change.json +28 -0
- data/lib/slack_resources/resources/event_api/schemas/user_resource_denied.json +63 -0
- data/lib/slack_resources/resources/event_api/schemas/user_resource_granted.json +63 -0
- data/lib/slack_resources/resources/event_api/schemas/user_resource_removed.json +31 -0
- data/lib/slack_resources/resources/event_api/summary.json +5876 -0
- data/slack_resources.gemspec +33 -0
- metadata +470 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c9dba64ad62d735b1fdd4d78bcc27d49dc0b542b6cc8396f9c242b0ed75957c4
|
4
|
+
data.tar.gz: 5d44a72526ca76e82b74bae7cbb43c0415ac3a3dcb507c1bae68263eb379f85a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3d89dc5724b52540c15d02b33f5c353dff4a8f1bb19924f03ceec801b68af309b47fbb5e62261b55af4b2f3861f3748c3763d0388f4c9be40be4603b3549362d
|
7
|
+
data.tar.gz: c42e4c9d96649cad665cf4c5e756379fbaeba9da8ab45555533cdd184d8d10fd70405d34a28ef8f9cc1c4bdfd858e5d661807205b230960adffe56fd2adc4f60
|
@@ -0,0 +1,87 @@
|
|
1
|
+
version: 2
|
2
|
+
jobs:
|
3
|
+
test:
|
4
|
+
parallelism: 1
|
5
|
+
docker:
|
6
|
+
- image: circleci/ruby:2.5.1
|
7
|
+
steps:
|
8
|
+
- checkout
|
9
|
+
|
10
|
+
- restore_cache:
|
11
|
+
keys:
|
12
|
+
- rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
|
13
|
+
- rails-demo-bundle-v2-
|
14
|
+
|
15
|
+
- run:
|
16
|
+
name: Bundle Install
|
17
|
+
command: bundle check || bundle install --path vendor/bundle
|
18
|
+
|
19
|
+
- save_cache:
|
20
|
+
key: rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
|
21
|
+
paths:
|
22
|
+
- vendor/bundle
|
23
|
+
|
24
|
+
- run:
|
25
|
+
name: Test
|
26
|
+
command: bundle exec rspec -cfd
|
27
|
+
- run:
|
28
|
+
name: Rubocop
|
29
|
+
command: bundle exec rubocop
|
30
|
+
|
31
|
+
deploy_gem:
|
32
|
+
parallelism: 1
|
33
|
+
docker:
|
34
|
+
- image: circleci/ruby:2.5.1
|
35
|
+
steps:
|
36
|
+
- checkout
|
37
|
+
- run:
|
38
|
+
name: Deployment
|
39
|
+
command: ruby .circleci/gem_deployment.rb $RUBYGEMS_API_KEY
|
40
|
+
|
41
|
+
deploy_gem_minor:
|
42
|
+
parallelism: 1
|
43
|
+
docker:
|
44
|
+
- image: circleci/ruby:2.5.1
|
45
|
+
steps:
|
46
|
+
- checkout
|
47
|
+
- run:
|
48
|
+
name: Deployment
|
49
|
+
command: ruby .circleci/gem_deployment.rb $RUBYGEMS_API_KEY minor
|
50
|
+
|
51
|
+
deploy_gem_major:
|
52
|
+
parallelism: 1
|
53
|
+
docker:
|
54
|
+
- image: circleci/ruby:2.5.1
|
55
|
+
steps:
|
56
|
+
- checkout
|
57
|
+
- run:
|
58
|
+
name: Deployment
|
59
|
+
command: ruby .circleci/gem_deployment.rb $RUBYGEMS_API_KEY major
|
60
|
+
|
61
|
+
|
62
|
+
workflows:
|
63
|
+
version: 2
|
64
|
+
build_and_test:
|
65
|
+
jobs:
|
66
|
+
- test
|
67
|
+
- deploy_gem:
|
68
|
+
filters:
|
69
|
+
branches:
|
70
|
+
only:
|
71
|
+
- deployment/gem
|
72
|
+
requires:
|
73
|
+
- test
|
74
|
+
- deploy_gem_minor:
|
75
|
+
filters:
|
76
|
+
branches:
|
77
|
+
only:
|
78
|
+
- deployment/gem_minor
|
79
|
+
requires:
|
80
|
+
- test
|
81
|
+
- deploy_gem_major:
|
82
|
+
filters:
|
83
|
+
branches:
|
84
|
+
only:
|
85
|
+
- deployment/gem_major
|
86
|
+
requires:
|
87
|
+
- test
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class GemDeployment
|
2
|
+
CREDENTIAL_DIR_PATH = '~/.gem/credentials'
|
3
|
+
CREDENTIAL_FILE_PATH = '~/.gem/credentials'
|
4
|
+
VERSION_FILE_PATH = './lib/slack_resources/version.rb'
|
5
|
+
|
6
|
+
def initialize(api_key = '', version = 'tiny')
|
7
|
+
@api_key = api_key
|
8
|
+
@version = version
|
9
|
+
end
|
10
|
+
|
11
|
+
def execute!
|
12
|
+
major, minor, tiny = fetch_version
|
13
|
+
|
14
|
+
major += 1 if major?
|
15
|
+
minor += 1 if minor?
|
16
|
+
tiny += 1 if tiny?
|
17
|
+
|
18
|
+
next_version = [major, minor, tiny].join('.')
|
19
|
+
|
20
|
+
`echo "---\n:rubygems_api_key: #{@api_key}\n" > ~/.gem/credentials && chmod 600 ~/.gem/credentials`
|
21
|
+
|
22
|
+
File.write(VERSION_FILE_PATH, <<~VER)
|
23
|
+
module SlackResources
|
24
|
+
VERSION = '#{next_version}'.freeze
|
25
|
+
end
|
26
|
+
VER
|
27
|
+
|
28
|
+
result = `gem build slack_resources.gemspec`
|
29
|
+
puts result
|
30
|
+
gem_file = result.match(/File: *(.+)\n/m)[1]
|
31
|
+
puts `gem push #{gem_file}`
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def fetch_version
|
37
|
+
`gem search slack_resources`.match(/\(([\d.]+)\)/)[1].split('.').map(&:to_i)
|
38
|
+
end
|
39
|
+
|
40
|
+
def major?
|
41
|
+
@version == 'major'
|
42
|
+
end
|
43
|
+
|
44
|
+
def minor?
|
45
|
+
@version == 'minor'
|
46
|
+
end
|
47
|
+
|
48
|
+
def tiny?
|
49
|
+
@version == 'tiny'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
GemDeployment.new(*ARGV).execute! if __FILE__ == $0
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.5
|
3
|
+
Exclude:
|
4
|
+
- tmp
|
5
|
+
- lib/slack_resources/generator/event_api/fetch.rb
|
6
|
+
- vendor/**/*
|
7
|
+
|
8
|
+
Rails:
|
9
|
+
Enabled: true
|
10
|
+
|
11
|
+
Documentation:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
Metrics/AbcSize:
|
15
|
+
Max: 40
|
16
|
+
Exclude:
|
17
|
+
- db/migrate/*.rb
|
18
|
+
Metrics/CyclomaticComplexity:
|
19
|
+
Max: 10
|
20
|
+
|
21
|
+
Metrics/LineLength:
|
22
|
+
Max: 250
|
23
|
+
Exclude:
|
24
|
+
- db/migrate/*.rb
|
25
|
+
|
26
|
+
Metrics/BlockLength:
|
27
|
+
Max: 30
|
28
|
+
Exclude:
|
29
|
+
- 'spec/**/*'
|
30
|
+
|
31
|
+
Metrics/MethodLength:
|
32
|
+
Max: 200
|
33
|
+
Exclude:
|
34
|
+
- db/migrate/*.rb
|
35
|
+
|
36
|
+
Metrics/ModuleLength:
|
37
|
+
Max: 150
|
38
|
+
|
39
|
+
Metrics/ClassLength:
|
40
|
+
Max: 300
|
41
|
+
Exclude:
|
42
|
+
- db/migrate/*.rb
|
43
|
+
|
44
|
+
Style/AsciiComments:
|
45
|
+
Enabled: false
|
46
|
+
|
47
|
+
Style/FrozenStringLiteralComment:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
Style/FormatString:
|
51
|
+
EnforcedStyle: percent
|
52
|
+
|
53
|
+
Style/BlockDelimiters:
|
54
|
+
EnforcedStyle: braces_for_chaining
|
55
|
+
|
56
|
+
Style/BlockComments:
|
57
|
+
Enabled: false
|
58
|
+
|
59
|
+
Style/MethodCalledOnDoEndBlock:
|
60
|
+
Enabled: true
|
61
|
+
|
62
|
+
Style/OptionHash:
|
63
|
+
Enabled: true
|
64
|
+
|
65
|
+
Style/SymbolArray:
|
66
|
+
Enabled: true
|
67
|
+
|
68
|
+
Style/EmptyCaseCondition:
|
69
|
+
Enabled: false
|
70
|
+
|
71
|
+
Style/BracesAroundHashParameters:
|
72
|
+
Enabled: false
|
73
|
+
|
74
|
+
Rails/DynamicFindBy:
|
75
|
+
Whitelist:
|
76
|
+
- find_by_param
|
77
|
+
- find_by_param!
|
78
|
+
|
79
|
+
Rails/HasAndBelongsToMany:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
Rails/SkipsModelValidations:
|
83
|
+
Enabled: false
|
84
|
+
|
85
|
+
Style/TrailingCommaInArrayLiteral:
|
86
|
+
EnforcedStyleForMultiline: comma
|
87
|
+
|
88
|
+
Style/TrailingCommaInHashLiteral:
|
89
|
+
EnforcedStyleForMultiline: comma
|
90
|
+
|
91
|
+
Semicolon:
|
92
|
+
Exclude:
|
93
|
+
- 'spec/**/*'
|
94
|
+
Naming/UncommunicativeMethodParamName:
|
95
|
+
MinNameLength: 1
|
96
|
+
|
97
|
+
Layout/IndentArray:
|
98
|
+
EnforcedStyle: consistent
|
99
|
+
|
100
|
+
Metrics/ParameterLists:
|
101
|
+
Max: 20
|
102
|
+
|
103
|
+
Style/RescueModifier:
|
104
|
+
Enabled: false
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
slack_resources (0.0.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
activesupport (5.2.2)
|
10
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
11
|
+
i18n (>= 0.7, < 2)
|
12
|
+
minitest (~> 5.1)
|
13
|
+
tzinfo (~> 1.1)
|
14
|
+
ast (2.4.0)
|
15
|
+
concurrent-ruby (1.1.4)
|
16
|
+
diff-lcs (1.3)
|
17
|
+
domain_name (0.5.20180417)
|
18
|
+
unf (>= 0.0.5, < 1.0.0)
|
19
|
+
dotenv (2.5.0)
|
20
|
+
http-cookie (1.0.3)
|
21
|
+
domain_name (~> 0.5)
|
22
|
+
i18n (1.3.0)
|
23
|
+
concurrent-ruby (~> 1.0)
|
24
|
+
jaro_winkler (1.5.1)
|
25
|
+
mime-types (3.2.2)
|
26
|
+
mime-types-data (~> 3.2015)
|
27
|
+
mime-types-data (3.2018.0812)
|
28
|
+
mini_portile2 (2.4.0)
|
29
|
+
minitest (5.11.3)
|
30
|
+
netrc (0.11.0)
|
31
|
+
nokogiri (1.9.1)
|
32
|
+
mini_portile2 (~> 2.4.0)
|
33
|
+
onkcop (0.53.0.2)
|
34
|
+
rubocop (>= 0.53.0)
|
35
|
+
rubocop-rspec (>= 1.24.0)
|
36
|
+
parallel (1.12.1)
|
37
|
+
parser (2.5.3.0)
|
38
|
+
ast (~> 2.4.0)
|
39
|
+
powerpack (0.1.2)
|
40
|
+
rainbow (3.0.0)
|
41
|
+
rake (10.5.0)
|
42
|
+
rest-client (2.0.2)
|
43
|
+
http-cookie (>= 1.0.2, < 2.0)
|
44
|
+
mime-types (>= 1.16, < 4.0)
|
45
|
+
netrc (~> 0.8)
|
46
|
+
rspec (3.8.0)
|
47
|
+
rspec-core (~> 3.8.0)
|
48
|
+
rspec-expectations (~> 3.8.0)
|
49
|
+
rspec-mocks (~> 3.8.0)
|
50
|
+
rspec-core (3.8.0)
|
51
|
+
rspec-support (~> 3.8.0)
|
52
|
+
rspec-expectations (3.8.2)
|
53
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
54
|
+
rspec-support (~> 3.8.0)
|
55
|
+
rspec-mocks (3.8.0)
|
56
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
57
|
+
rspec-support (~> 3.8.0)
|
58
|
+
rspec-support (3.8.0)
|
59
|
+
rubocop (0.61.1)
|
60
|
+
jaro_winkler (~> 1.5.1)
|
61
|
+
parallel (~> 1.10)
|
62
|
+
parser (>= 2.5, != 2.5.1.1)
|
63
|
+
powerpack (~> 0.1)
|
64
|
+
rainbow (>= 2.2.2, < 4.0)
|
65
|
+
ruby-progressbar (~> 1.7)
|
66
|
+
unicode-display_width (~> 1.4.0)
|
67
|
+
rubocop-rspec (1.30.1)
|
68
|
+
rubocop (>= 0.60.0)
|
69
|
+
ruby-progressbar (1.10.0)
|
70
|
+
thread_safe (0.3.6)
|
71
|
+
tzinfo (1.2.5)
|
72
|
+
thread_safe (~> 0.1)
|
73
|
+
unf (0.1.4)
|
74
|
+
unf_ext
|
75
|
+
unf_ext (0.0.7.5)
|
76
|
+
unicode-display_width (1.4.1)
|
77
|
+
|
78
|
+
PLATFORMS
|
79
|
+
ruby
|
80
|
+
|
81
|
+
DEPENDENCIES
|
82
|
+
activesupport (~> 5.2)
|
83
|
+
bundler (~> 1.16)
|
84
|
+
dotenv (~> 2.5)
|
85
|
+
nokogiri (~> 1.8)
|
86
|
+
onkcop (~> 0.53)
|
87
|
+
rake (~> 10.0)
|
88
|
+
rest-client (~> 2.0)
|
89
|
+
rspec (~> 3.0)
|
90
|
+
slack_resources!
|
91
|
+
|
92
|
+
BUNDLED WITH
|
93
|
+
1.16.1
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Slack resources
|
2
|
+
|
3
|
+
We create JSON schemas from Slack document and api examples.
|
4
|
+
|
5
|
+
# Event api
|
6
|
+
|
7
|
+
Most event api examples are not wrapped meta data. But some examples are already wrapped. (e.x. `token_revoked` )
|
8
|
+
|
9
|
+
Our JSON schema did not include wrapping meta data.
|
10
|
+
|
11
|
+
```json
|
12
|
+
{
|
13
|
+
"token": "XXYYZZ",
|
14
|
+
"team_id": "TXXXXXXXX",
|
15
|
+
"api_app_id": "AXXXXXXXXX",
|
16
|
+
"event": {}, // Examples are inserted here.
|
17
|
+
"type": "event_callback",
|
18
|
+
"authed_users": [
|
19
|
+
"UXXXXXXX1",
|
20
|
+
"UXXXXXXX2"
|
21
|
+
],
|
22
|
+
"event_id": "Ev08MFMKH6",
|
23
|
+
"event_time": 1234567890
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
27
|
+
## message.foo
|
28
|
+
|
29
|
+
`message` events have `channel_type` . They are mapped `message.${channel_type}.json` .
|
data/Rakefile
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'slack_resources'
|
3
|
+
|
4
|
+
FileUtils.rm_r('./lib/slack_resources/resources/event_api')
|
5
|
+
SlackResources::Generator::Writer.new(
|
6
|
+
output_dir: './lib/slack_resources/resources/event_api',
|
7
|
+
data_dir: './lib/slack_resources/raw_data/event_api'
|
8
|
+
).execute!
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module SlackResources
|
2
|
+
require 'slack_resources/version' if File.exist?('./lib/slack_resources/version')
|
3
|
+
|
4
|
+
require 'slack_resources/generator/event_api/strong_hash'
|
5
|
+
require 'slack_resources/generator/event_api/examples_preparation'
|
6
|
+
require 'slack_resources/generator/event_api/to_schema'
|
7
|
+
require 'slack_resources/generator/event_api/type_detection'
|
8
|
+
require 'slack_resources/generator/event_api/write'
|
9
|
+
|
10
|
+
require 'slack_resources/resources/event_api'
|
11
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module SlackResources
|
2
|
+
module Generator
|
3
|
+
class ExamplePreparation
|
4
|
+
using StrongHash
|
5
|
+
|
6
|
+
def initialize(examples_dir:, added_examples_dir:)
|
7
|
+
@added_examples_dir = added_examples_dir
|
8
|
+
@examples_dir = examples_dir
|
9
|
+
end
|
10
|
+
|
11
|
+
def execute! # rubocop:disable Metrics/AbcSize
|
12
|
+
single_events = Set.new(raw_examples.map(&:first))
|
13
|
+
|
14
|
+
defined = Set.new
|
15
|
+
event_typed_examples = {}
|
16
|
+
alt_typed_examples = {}
|
17
|
+
|
18
|
+
raw_examples.each do |alt_event_type, event_type, example|
|
19
|
+
example['_raw_example'] = JSON.parse(example.to_json)
|
20
|
+
event_typed_examples.protect_merge!(event_type => example)
|
21
|
+
alt_typed_examples[alt_event_type] = JSON.parse(example.to_json)
|
22
|
+
|
23
|
+
next if defined.add?(event_type)
|
24
|
+
|
25
|
+
single_events.delete(event_type)
|
26
|
+
defined_example = event_typed_examples[event_type]
|
27
|
+
|
28
|
+
Set.new(defined_example.keys + example.keys).each do |k|
|
29
|
+
next if k == '_raw_example'
|
30
|
+
|
31
|
+
defined_value = defined_example[k]
|
32
|
+
additional_value = example[k]
|
33
|
+
|
34
|
+
next if defined_value == additional_value
|
35
|
+
|
36
|
+
if defined_value.is_a?(Hash) && defined_value[TypeDetection::SPECIAL_TYPE] == TypeDetection::MULTIPLE_EXAMPLES
|
37
|
+
(defined_value['items'] << additional_value).sort! { |a, b| a.to_s <=> b.to_s }
|
38
|
+
else
|
39
|
+
defined_example.merge!(
|
40
|
+
k => {
|
41
|
+
TypeDetection::SPECIAL_TYPE => TypeDetection::MULTIPLE_EXAMPLES,
|
42
|
+
'target' => k,
|
43
|
+
'items' => [defined_value, additional_value].sort! { |a, b| a.to_s <=> b.to_s },
|
44
|
+
}
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
alt_typed_examples.select { |k, _| single_events.include?(k) }.protect_merge!(event_typed_examples)
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def all_files
|
56
|
+
Dir.glob(@added_examples_dir.join('**/*.json')) + Dir.glob(@examples_dir.join('**/*.json'))
|
57
|
+
end
|
58
|
+
|
59
|
+
def raw_examples
|
60
|
+
@raw_examples ||= all_files.map do |f|
|
61
|
+
example = JSON.parse(File.read(f))
|
62
|
+
alt_event_type = File.basename(f, '.json')
|
63
|
+
event_body = example['event'].presence || example
|
64
|
+
event_type = event_body['type']
|
65
|
+
|
66
|
+
[alt_event_type, event_type, event_body.key_ordered]
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|