Skip to content

Instantly share code, notes, and snippets.

View jaderfeijo's full-sized avatar

Jader Feijo jaderfeijo

View GitHub Profile
@jaderfeijo
jaderfeijo / xcarchive
Last active March 13, 2018 10:46
xcarchive
#!/usr/bin/env ruby
require 'optparse'
require 'ostruct'
require 'plist'
require 'pp'
class Archive
ARCHIVES_ROOT = File.join(File.expand_path('~'), "Library/Developer/Xcode/Archives")
@jaderfeijo
jaderfeijo / post-checkout
Last active March 13, 2018 10:46
.git/post-checkout
#!/usr/bin/env bash
diff Podfile.lock Pods/Manifest.lock > /dev/null
if [[ $? != 0 ]]; then
echo "*** Podfile changed ***"
pod install
fi
@jaderfeijo
jaderfeijo / String+EmailValidation.swift
Last active March 13, 2018 10:45
String+EmailValidation.swift
//
// String+EmailValidation.swift
// Created by: Jader Feijo
//
import Foundation
extension String {
var isValidEmail: Bool {
do {
@jaderfeijo
jaderfeijo / String+MD5.swift
Last active March 13, 2018 10:45
String+MD5.swift
//
// String+MD5.swift
// Created by: Jader Feijo
//
import Foundation
extension String {
var md5: String {
var digest = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
@jaderfeijo
jaderfeijo / String+Dates.swift
Last active March 13, 2018 10:45
String+Dates.swift
//
// String+Dates.swift
// Created by Jader Feijo on 14/10/2016.
//
import Foundation
extension String {
func asDate(withFormat format: String) -> Date? {
let formatter = DateFormatter()
@jaderfeijo
jaderfeijo / Date+TimeOfDay.swift
Last active March 13, 2018 10:45
Date+TimeOfDay.swift
//
// Date+TimeOfDay.swift
// Created by: Jader Feijo
//
import Foundation
extension Date {
enum TimeOfDay {
case morning
@jaderfeijo
jaderfeijo / Date+Components.swift
Last active March 13, 2018 10:45
Date+Components.swift
//
// Date+Components.swift
// Created by: Jader Feijo
//
import Foundation
extension Date {
var hour: Int {
return (Calendar.current as NSCalendar).component(.hour, from: self)
@jaderfeijo
jaderfeijo / Array+NaturalLanguageJoin.swift
Last active March 13, 2018 10:45
Array+NaturalLanguageJoin.swift
//
// Array+NaturalLanguageJoin.swift
// Created by: Jader Feijo
//
import Foundation
extension Array {
var joinedAsNaturalLanguageSequence: String {
var naturalLanguageSequence = ""
@jaderfeijo
jaderfeijo / NumberFormatter+Currency.swift
Last active March 13, 2018 10:45
NumberFormatter+Currency.swift
//
// NumberFormatter+Currency.swift
// Created by: Jader Feijo
//
import Foundation
extension NumberFormatter {
public static func formatter(forCurrencyCode currencyCode: String) -> NumberFormatter {
return NumberFormatter().with { f in
@jaderfeijo
jaderfeijo / URL+QueryStrings.swift
Last active March 13, 2018 10:44
URL+QueryStrings.swift
import Foundation
extension URL {
var hasQueryStringParameters: Bool {
return query != nil
}
var queryStringParameters: [String: String] {
var results = [String: String]()
if let keyValues = query?.components(separatedBy: "&"), keyValues.count > 0 {