Change global flag to always return true and make ability flags as predicates
This commit is contained in:
parent
3414d8c9f5
commit
1f5706b525
@ -220,15 +220,15 @@ public abstract class AbilityBot extends TelegramLongPollingBot {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the update against the provided global flags. The default implementation requires a {@link Flag#MESSAGE}.
|
||||
* Test the update against the provided global flags. The default implementation is a passthrough to all updates.
|
||||
* <p>
|
||||
* This method should be <b>overridden</b> if the user wants updates that don't require a MESSAGE to pass through.
|
||||
* This method should be <b>overridden</b> if the user wants to restrict bot usage to only certain updates.
|
||||
*
|
||||
* @param update a Telegram {@link Update}
|
||||
* @return <tt>true</tt> if the update satisfies the global flags
|
||||
*/
|
||||
protected boolean checkGlobalFlags(Update update) {
|
||||
return MESSAGE.test(update);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -149,7 +149,7 @@ public final class Ability {
|
||||
private Consumer<MessageContext> consumer;
|
||||
private Consumer<MessageContext> postConsumer;
|
||||
private List<Reply> replies;
|
||||
private Flag[] flags;
|
||||
private Predicate<Update>[] flags;
|
||||
|
||||
private AbilityBuilder() {
|
||||
replies = newArrayList();
|
||||
@ -170,7 +170,7 @@ public final class Ability {
|
||||
return this;
|
||||
}
|
||||
|
||||
public AbilityBuilder flag(Flag... flags) {
|
||||
public AbilityBuilder flag(Predicate<Update>... flags) {
|
||||
this.flags = flags;
|
||||
return this;
|
||||
}
|
||||
|
@ -410,13 +410,9 @@ public class AbilityBotTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void canCheckGlobalFlags() {
|
||||
public void defaultGlobalFlagIsTrue() {
|
||||
Update update = mock(Update.class);
|
||||
Message message = mock(Message.class);
|
||||
|
||||
when(update.hasMessage()).thenReturn(true);
|
||||
when(update.getMessage()).thenReturn(message);
|
||||
assertEquals("Unexpected result when checking for locality", true, bot.checkGlobalFlags(update));
|
||||
assertEquals("Unexpected result when checking for the default global flags", true, bot.checkGlobalFlags(update));
|
||||
}
|
||||
|
||||
@Test(expected = ArithmeticException.class)
|
||||
|
Loading…
Reference in New Issue
Block a user