Javier Cicchelli 9bcdaa697b [Setup] Basic project structure (#1)
This PR contains all the work related to setting up this project as required to implement the [Assignment](https://repo.rock-n-code.com/rock-n-code/deep-linking-assignment/wiki/Assignment) on top, as intended.

To summarise this work:
- [x] created a new **Xcode** project;
- [x] cloned the `Wikipedia` app and inserted it into the **Xcode** project;
- [x] created the `Locations` app and also, its `Libraries` package;
- [x] created the `Shared` package to share dependencies between the apps;
- [x] added a `Makefile` file and implemented some **environment** and **help** commands.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#1
2023-04-08 18:37:13 +00:00

41 lines
971 B
Objective-C

#import "LSStubResponseDSL.h"
#import "LSStubResponse.h"
#import "LSHTTPBody.h"
@interface LSStubResponseDSL ()
@property (nonatomic, strong) LSStubResponse *response;
@end
@implementation LSStubResponseDSL
- (id)initWithResponse:(LSStubResponse *)response {
self = [super init];
if (self) {
_response = response;
}
return self;
}
- (ResponseWithHeaderMethod)withHeader {
return ^(NSString * header, NSString * value) {
[self.response setHeader:header value:value];
return self;
};
}
- (ResponseWithHeadersMethod)withHeaders; {
return ^(NSDictionary *headers) {
for (NSString *header in headers) {
NSString *value = [headers objectForKey:header];
[self.response setHeader:header value:value];
}
return self;
};
}
- (ResponseWithBodyMethod)withBody {
return ^(id<LSHTTPBody> body) {
self.response.body = [body data];
return self;
};
}
@end