Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions RCRouter/Classes/RCRouter.h
Original file line number Diff line number Diff line change
Expand Up @@ -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<RCRouterDelegate>)delegate;
Expand Down
21 changes: 21 additions & 0 deletions RCRouter/Classes/RCRouter.m
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ + (void)removeAllRoutesToReceiver:(id)receiver {

}

+ (BOOL)canRespondToRoute:(NSString*)route {
return [[RCRouter sharedRouter] canRespondToRoute:route];
}

+ (void)addDelegate:(id<RCRouterDelegate>)delegate {

[[RCRouter sharedRouter] addDelegate:delegate];
Expand Down Expand Up @@ -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
Expand Down