Skip to content

Instantly share code, notes, and snippets.

View sgr-ksmt's full-sized avatar
👉
👁👃👁

Suguru Kishimoto sgr-ksmt

👉
👁👃👁
View GitHub Profile
@sgr-ksmt
sgr-ksmt / acknowledgement_generator.swift
Created November 16, 2016 10:30
licenses plist generator: support CocoaPods/Carthage
#!/usr/bin/env xcrun --sdk macosx swift
import Foundation
let version = "1.1"
var debug = false
// MARK: Exit status code
enum ExitCode: Int32 {
case success = 0
@sgr-ksmt
sgr-ksmt / ModelA.swift
Last active November 2, 2019 10:27
PropertyWrapper+Codable crash.
struct ModelA: Codable {
@Wrap<ModelA> var a: String? = "foobar"
}
@sgr-ksmt
sgr-ksmt / carthage-framework-paths.sh
Last active August 9, 2019 02:40
carthage-framework-paths
#!/bin/bash
usage() {
cat <<HELP
SYNOPSIS:
$0 [-d] [iOS(default)|watchOS|tvOS|Mac]
$0 [-h]
ARGUMENTS:
iOS print paths for iOS (default)
watchOS print paths for iOS
@sgr-ksmt
sgr-ksmt / source.swift
Created October 22, 2018 02:44
RxPlayground Demo
//: Playground - noun: a place where people can play
import UIKit
import RxSwift
import RxCocoa
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
// PublishRelay vs BehaviorRelay
do {
@sgr-ksmt
sgr-ksmt / source.swift
Created October 22, 2018 02:37
RxPlayground demo
import UIKit
import RxSwift
import RxCocoa
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
// PublishRelay vs BehaviorRelay
do {
let relay = PublishRelay<Int>()
import Foundation
import RxSwift
import Firebase
extension FIRAuth {
public enum AuthProvider {
case emailPassword(String, String)
case facebook(String)
case google(String, String)
case twitter(String, String)
service cloud.firestore {
match /databases/{database}/documents {
function isAuthenticated() {
return request.auth != null;
}
match /user/{userID} {
allow read: if isAuthenticated();
allow create: if true;
allow update: if request.writeFields.size() == 1;
@sgr-ksmt
sgr-ksmt / EnumEnumerable.swift
Created June 21, 2016 06:18
EnumEnumerable for Swift3.0
public protocol EnumEnumerable {
associatedtype Case = Self
}
public extension EnumEnumerable where Case: Hashable {
private static var iterator: AnyIterator<Case> {
var n = 0
return AnyIterator {
defer { n += 1 }
let next = withUnsafePointer(&n) { UnsafePointer<Case>($0).pointee }
protocol PushNotificationPayload: Decodable {
}
protocol SubscribeContainer {
func parse(_ json: Data)
}
extension SubscribeContainer {
func parse(_ json: Data) {
[##][A-Za-zA-Za-z一-鿆0-90-9ぁ-ヶヲ-゚ー]+
// http://qiita.com/corin8823/items/75309761833d823cac6f