Skip to content

Instantly share code, notes, and snippets.

View RyogaK's full-sized avatar

Ryoga Kitagawa RyogaK

  • Rights-Apartment, Inc.
  • Tokushima, Japan
  • 19:53 (UTC +09:00)
View GitHub Profile
@RyogaK
RyogaK / cleanup_bcsymbolmap
Created May 24, 2019 03:48 — forked from fujikky/cleanup_bcsymbolmap
Carthage's bcsymbolmap cleanup script
#!/bin/bash
function print_usage() {
echo "Usage: $0 [Options]"
echo "Options:"
echo " -h, --help Display usage"
echo " -p, --project-directory Directory containing Carthage project"
echo " -f, --force Omit confirmation"
exit 1
}
@RyogaK
RyogaK / lgtm.sh
Last active March 2, 2018 12:46
LGTM.sh
#!/bin/sh
# pup: [https://github.com/EricChiang/pup]
# URL を http://www.lgtm.in/g/RyogaK のようにすれば自分のマイリストから取り出せるのでオススメ
echo "\![LGTM](`curl -sL http://www.lgtm.in/g | pup '#imageUrl attr{value}'`)" | pbcopy
@RyogaK
RyogaK / CircularPageView.swift
Created February 16, 2018 05:37
横スクロールバナー用カスタムView
//
// CircularPageView.swift
// Created by Ryoga Kitagawa on 2017/07/22.
//
import Foundation
private let preLoadedCellNum: Int = 1
private let maxVisibleCellNum: Int = preLoadedCellNum * 2 + 1
@RyogaK
RyogaK / Model.swift
Created April 25, 2017 17:57
Rx+MVVM Sample
import RxSwift
protocol ModelInputs {
func doSomething(strs: [String])
}
protocol ModelOutputs {
var outputInts: Observable<[Int]> { get }
}
@RyogaK
RyogaK / Repeat.swift
Created April 24, 2017 10:25
RxSwift's custom operator for repeating.
//
// Repeat.swift
//
// Created by Ryoga Kitagawa on 4/24/17.
//
import RxSwift
extension ObservableType {
func `repeat`() -> Observable<E> {
@RyogaK
RyogaK / swiftlint_for_diff.sh
Created April 13, 2017 07:51
Run SwiftLint for only diff.
#!/bin/bash
# Run SwiftLint
START_DATE=$(date +"%s")
SWIFT_LINT=/usr/local/bin/swiftlint
# Run SwiftLint for given filename
run_swiftlint() {
local filename="${1}"
@RyogaK
RyogaK / Result+RxSwift.swift
Last active March 24, 2017 11:58
Observable の のエラーをキャッチして Result に入れて受け取ってマッチングして、という作業がめんどくさいと感じたのでオペレータを生やしてみた。
import RxSwift
import Result
public struct ResultErrorEnvelope: ErrorType {
let originError: ErrorType
}
public extension ObservableType {
public func catchAndConvertToResult() -> Observable<Result<E, ResultErrorEnvelope>> {
return map(Result.Success)
//
// UIAlertController+Rx.swift
//
import Foundation
import RxSwift
protocol RxAlertActionType {
associatedtype Result
//
// AlertHasHeaderController.swift
//
// Created by Ryoga Kitagawa on 8/24/16.
// Copyright © 2016 Ryoga Kitagawa. All rights reserved.
//
import UIKit
final class AlertHasHeaderController: UIAlertController {
class Entity {}
struct Token {
let entity = Entity()
}
func asyncProcess() -> Token {
let token = Token()
weak var entity = token.entity
dispatch_async(dispatch_get_main_queue) {
// 重くてキャンセルできない処理