Permalink
Browse files

Initial import of first public files.

  • Loading branch information...
1 parent dc1e729 commit 7a5b7cc19620421ea65c0369b8f7bc9a1bc9761f @ldandersen committed Jun 22, 2012
View
@@ -13,3 +13,5 @@ build/*
xcuserdata
profile
*.moved-aside
+# OS X
+.DS_Store
@@ -0,0 +1,37 @@
+//
+// NSArray+STAdditions.h
+//
+// Created by Buzz Andersen on 2/19/11.
+// Copyright 2011 System of Touch. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import <Foundation/Foundation.h>
+
+
+@interface NSArray (STAdditions)
+
+- (id)firstObject;
+- (id)objectAtRandomIndex;
+
+@end
@@ -0,0 +1,52 @@
+//
+// NSArray+STAdditions.m
+//
+// Created by Buzz Andersen on 2/19/11.
+// Copyright 2011 System of Touch. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "STUtils.h"
+
+
+@implementation NSArray (STAdditions)
+
+- (id)firstObject;
+{
+ return self.count > 0 ? [self objectAtIndex:0] : nil;
+}
+
+- (id)objectAtRandomIndex;
+{
+ if (!self.count) {
+ return nil;
+ }
+
+ if (self.count < 2) {
+ return [self objectAtIndex:0];
+ }
+
+ return [self objectAtIndex:STRandomIntegerWithMax(self.count)];
+}
+
+@end
@@ -0,0 +1,63 @@
+//
+// NSDate+STAdditions.h
+//
+// Created by Buzz Andersen on 12/29/09.
+// Copyright 2011 System of Touch. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import <Foundation/Foundation.h>
+#include "time.h"
+
+
+@interface NSDate (STAdditions)
+
+@property (nonatomic, readonly) NSInteger century;
+@property (nonatomic, readonly) NSInteger decade;
+@property (nonatomic, readonly) NSInteger year;
+@property (nonatomic, readonly) NSInteger month;
+
+#pragma mark Convenience Date Creation Methods
+
++ (NSDate *)dateWithCTimeStruct:(time_t)inTimeStruct;
+
+#pragma mark Convenience String Formatting Methods
+
+- (NSString *)timeIntervalSince1970String;
+- (NSString *)timeString;
+- (NSString *)dayOfWeekString;
+- (NSString *)veryShortDateString;
+- (NSString *)shortDateString;
+- (NSString *)longDateString;
+- (NSString *)veryLongDateString;
+- (NSString *)SMSStyleDateString;
+- (NSString *)relativeDateString;
+
+#pragma mark HTTP Dates
+
+- (NSString *)HTTPTimeZoneHeaderString;
+- (NSString *)HTTPTimeZoneHeaderStringForTimeZone:(NSTimeZone *)inTimeZone;
+- (NSString *)ISO8601String;
+- (NSString *)ISO8601StringForTimeZone:(NSTimeZone *)inTimeZone;
+
+@end
Oops, something went wrong.

0 comments on commit 7a5b7cc

Please sign in to comment.