Commit 64d25a93 by Dima Bart

Add typed collections to BUYCheckout.

parent bc1eaf35
......@@ -42,6 +42,9 @@
- (instancetype)initWithModelManager:(id<BUYModelManager>)modelManager cart:(BUYCart *)cart;
- (instancetype)initWithModelManager:(id<BUYModelManager>)modelManager cartToken:(NSString *)token;
- (NSArray<BUYGiftCard *> *)giftCardsArray;
- (NSArray<BUYCartLineItem *> *)lineItemsArray;
- (void)updateWithCart:(BUYCart *)cart;
- (BUYGiftCard *)giftCardWithIdentifier:(NSNumber *)identifier;
......
......@@ -66,7 +66,8 @@
[super setShippingRate:shippingRate];
self.shippingRateId = shippingRate.shippingRateIdentifier;
}
-(void)setPartialAddresses:(NSNumber *)partialAddresses
- (void)setPartialAddresses:(NSNumber *)partialAddresses
{
if (partialAddresses.boolValue == NO) {
@throw [NSException exceptionWithName:@"partialAddress" reason:@"partialAddresses can only be set to true and should never be set to false on a complete address" userInfo:nil];
......@@ -74,6 +75,7 @@
[ super setPartialAddresses:partialAddresses];
}
#pragma mark - Init -
/**
* We must initialize to-many relationships to ensure that
......@@ -112,6 +114,20 @@
return self;
}
#pragma mark - Accessors -
- (NSArray<BUYGiftCard *> *)giftCardsArray
{
return self.giftCards.array;
}
- (NSArray<BUYCartLineItem *> *)lineItemsArray
{
return self.lineItems.array;
}
#pragma mark - Update -
- (void)updateWithCart:(BUYCart *)cart
{
NSArray *lineItems = [[cart.lineItems array] buy_map:^id(BUYCartLineItem *cartLineItem) {
......@@ -122,7 +138,7 @@
self.lineItems = [NSOrderedSet orderedSetWithArray:lineItems];
}
#pragma mark - BUYObject
#pragma mark - BUYObject -
- (NSDictionary *)JSONEncodedProperties
{
......@@ -139,7 +155,7 @@
return @{ @"checkout" : json };
}
#pragma mark - Gift Card management
#pragma mark - Gift Card management -
- (BUYGiftCard *)giftCardWithIdentifier:(NSNumber *)identifier
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment