Module: Discordrb::Events
- Included in:
- Bot
- Defined in:
- lib/discordrb/events/generic.rb,
lib/discordrb/events/bans.rb,
lib/discordrb/events/await.rb,
lib/discordrb/events/guilds.rb,
lib/discordrb/events/typing.rb,
lib/discordrb/events/members.rb,
lib/discordrb/events/message.rb,
lib/discordrb/events/lifetime.rb,
lib/discordrb/events/presence.rb,
lib/discordrb/events/channel_create.rb,
lib/discordrb/events/channel_delete.rb,
lib/discordrb/events/channel_update.rb,
lib/discordrb/events/guild_role_create.rb,
lib/discordrb/events/guild_role_delete.rb,
lib/discordrb/events/guild_role_update.rb,
lib/discordrb/events/voice_state_update.rb
Overview
Events used by discordrb
Defined Under Namespace
Classes: AwaitEvent, AwaitEventHandler, ChannelCreateEvent, ChannelCreateEventHandler, ChannelDeleteEvent, ChannelDeleteEventHandler, ChannelUpdateEvent, ChannelUpdateEventHandler, DisconnectEvent, DisconnectEventHandler, EventHandler, GuildCreateEvent, GuildCreateEventHandler, GuildDeleteEvent, GuildDeleteEventHandler, GuildEvent, GuildEventHandler, GuildMemberAddEvent, GuildMemberAddEventHandler, GuildMemberDeleteEvent, GuildMemberDeleteEventHandler, GuildMemberEvent, GuildMemberEventHandler, GuildMemberUpdateEvent, GuildMemberUpdateEventHandler, GuildRoleCreateEvent, GuildRoleCreateEventHandler, GuildRoleDeleteEvent, GuildRoleDeleteEventHandler, GuildRoleUpdateEvent, GuildRoleUpdateEventHandler, GuildUpdateEvent, GuildUpdateEventHandler, MentionEvent, MentionEventHandler, MessageDeleteEvent, MessageDeleteEventHandler, MessageEditEvent, MessageEditEventHandler, MessageEvent, MessageEventHandler, MessageIDEvent, MessageIDEventHandler, Negated, PlayingEvent, PlayingEventHandler, PresenceEvent, PresenceEventHandler, PrivateMessageEvent, PrivateMessageEventHandler, ReadyEvent, ReadyEventHandler, TrueEventHandler, TypingEvent, TypingEventHandler, UserBanEvent, UserBanEventHandler, UserUnbanEvent, UserUnbanEventHandler, VoiceStateUpdateEvent, VoiceStateUpdateEventHandler
Class Method Summary collapse
Class Method Details
.matches_all(attributes, to_check, &block) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/discordrb/events/generic.rb', line 14 def self.matches_all(attributes, to_check, &block) # "Zeroth" case: attributes is nil return true if attributes.nil? # First case: there's a single negated attribute if attributes.is_a? Negated # The contained object might also be an array, so recursively call matches_all (and negate the result) return !matches_all(attributes.object, to_check, &block) end # Second case: there's a single, not-negated attribute return yield(attributes, to_check) unless attributes.is_a? Array # Third case: it's an array of attributes attributes.reduce(false) do |result, element| result || yield(element, to_check) end end |