Skip to content

Instantly share code, notes, and snippets.

View perlmunger's full-sized avatar

Matt Long perlmunger

View GitHub Profile
@perlmunger
perlmunger / gist:6827665
Created October 4, 2013 15:17
Write Animated GIF Image with Completion Block
+ (void)writeAnimatedGIFToPath:(NSURL*)path withImages:(NSArray*)images duration:(CGFloat)duration completionBlock:(dispatch_block_t)completionBlock;
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSDictionary *fileProperties = @{
(__bridge id)kCGImagePropertyGIFDictionary: @{
(__bridge id)kCGImagePropertyGIFLoopCount: @0, // 0 means loop forever
}
};
NSDictionary *frameProperties = @{
@perlmunger
perlmunger / gist:6653288
Created September 21, 2013 19:10
Add all of the US states to a Rails model from the console with one line
# Here's what it looks like over multiple lines. Use the single line
# one below in the console or it won't work.
# ["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL",
# "IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT",
# "NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI",
# "SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY","AS","DC",
# "FM","GU","MH","MP","PW","PR","VI",
# "AE","AA","AE","AE","AE","AP"].each { |st| group = Group.new( :name => st); group.save }
["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY","AS","DC","FM","GU","MH","MP","PW","PR","VI","AE","AA","AE","AE","AE","AP"].each { |st| group = Group.new( :name => st); group.save }
@perlmunger
perlmunger / gist:32d8ba0b277ce9bb1618
Last active October 9, 2015 16:22
Safely Set Values For Key On Managed Objects In Swift
extension NSManagedObject {
func safeSetValuesForKeys(dictionary:[NSObject:AnyObject]) {
let attributes: [NSObject:AnyObject] = self.entity.attributesByName
var finalValue : AnyObject? = nil
for (attribute, value) in attributes {
if let val : NSNull = value as? NSNull {
continue;
}
@perlmunger
perlmunger / NSJSONSerialization_Example.m
Created August 20, 2011 17:38
NSJSONSerialization Example Code
NSError *error = nil;
NSData *json = [NSData dataWithContentsOfFile:path];
id object = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableContainers error:&error];
// object is a dictionary or an array you can now use
@perlmunger
perlmunger / DropdownButton.h
Created July 7, 2011 22:00
DropdownButton
@interface DropdownButton : UIControl {
}
@property (nonatomic, assign) CAGradientLayer *gradientLayer;
@property (nonatomic, assign) CAGradientLayer *dropdownLayer;
@property (nonatomic, assign) CAShapeLayer *triangleLayer;
@property (nonatomic, retain) UILabel *label;