From 6fee143dee2c64011211a47f072f69c30c15c6d8 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 7 Feb 2013 17:36:41 -0500 Subject: [PATCH 1/3] add response to router check --- RCRouter/Classes/RCRouter.h | 1 + RCRouter/Classes/RCRouter.m | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/RCRouter/Classes/RCRouter.h b/RCRouter/Classes/RCRouter.h index a7c54db..570d57b 100644 --- a/RCRouter/Classes/RCRouter.h +++ b/RCRouter/Classes/RCRouter.h @@ -32,6 +32,7 @@ + (void)dispatch:(NSString*)route; + (void)remove:(NSString*)route; + (void)removeAllRoutesToReceiver:(id)receiver; ++ (BOOL)canRespondToRoute:(NSString*)route; // To Do + (void)addDelegate:(id)delegate; diff --git a/RCRouter/Classes/RCRouter.m b/RCRouter/Classes/RCRouter.m index 80eddf6..ce4188d 100644 --- a/RCRouter/Classes/RCRouter.m +++ b/RCRouter/Classes/RCRouter.m @@ -59,6 +59,10 @@ + (void)removeAllRoutesToReceiver:(id)receiver { } ++ (BOOL)canRespondToRoute:(NSString*)route { + [[RCRouter sharedRouter] canRespondToRoute:route]; +} + + (void)addDelegate:(id)delegate { [[RCRouter sharedRouter] addDelegate:delegate]; @@ -103,6 +107,23 @@ - (void)map:(NSString*)route to:(id)reciever with:(SEL)selector { } +- (BOOL)canRespondToRoute:(NSString*)route { + NSEnumerator *routeEnumerator = [_routes objectEnumerator]; + RCRoute *routeObj; + + while ((routeObj = [routeEnumerator nextObject])) { + + // found a match + if ( [routeObj matches:route] ) { + return YES; + } + + } + + return NO; + +} + - (void)dispatch:(NSString*)path { // check with delegate if this is a vaild path @@ -192,6 +213,7 @@ - (void)addDelegate:(id)delegate { } + #pragma mark - #pragma mark Singleton methods From b60cbc1d4a8c7c8c18be55dabca65dba145c94c5 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 7 Feb 2013 22:33:27 -0500 Subject: [PATCH 2/3] remove extra line --- RCRouter/Classes/RCRouter.m | 1 - 1 file changed, 1 deletion(-) diff --git a/RCRouter/Classes/RCRouter.m b/RCRouter/Classes/RCRouter.m index ce4188d..6068c39 100644 --- a/RCRouter/Classes/RCRouter.m +++ b/RCRouter/Classes/RCRouter.m @@ -213,7 +213,6 @@ - (void)addDelegate:(id)delegate { } - #pragma mark - #pragma mark Singleton methods From f227f64c21ab3cbdc186047f4fa7fe354b7c8063 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 8 Feb 2013 17:00:02 -0500 Subject: [PATCH 3/3] forgot to return the value --- RCRouter/Classes/RCRouter.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RCRouter/Classes/RCRouter.m b/RCRouter/Classes/RCRouter.m index 6068c39..986f5e0 100644 --- a/RCRouter/Classes/RCRouter.m +++ b/RCRouter/Classes/RCRouter.m @@ -60,7 +60,7 @@ + (void)removeAllRoutesToReceiver:(id)receiver { } + (BOOL)canRespondToRoute:(NSString*)route { - [[RCRouter sharedRouter] canRespondToRoute:route]; + return [[RCRouter sharedRouter] canRespondToRoute:route]; } + (void)addDelegate:(id)delegate {