Skip to content

Instantly share code, notes, and snippets.

@dmitryshliugaev
dmitryshliugaev / AsynchronousOperation.swift
Created April 5, 2019 11:40
Asynchronous Operation for synchronous Queue
class AsynchronousOperation: Operation {
@objc private enum OperationState: Int {
case ready
case executing
case finished
}
private let stateQueue = DispatchQueue(label: Bundle.main.bundleIdentifier! + ".rw.state", attributes: .concurrent)
private var _state: OperationState = .ready
@dmitryshliugaev
dmitryshliugaev / RXMoya.swift
Last active May 8, 2018 19:00
RXMoya renew token
//MARK: – Renew token
public extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Response {
public func retryWithAuthIfNeeded() -> Single<ElementType> {
return catchError { error -> PrimitiveSequence<SingleTrait, Response> in
if let moyaError: MoyaError = error as? MoyaError, let response: Response = moyaError.response {
if response.statusCode == 401 {
let user: User = AccountService.getUser()
@dmitryshliugaev
dmitryshliugaev / CDManager.m
Last active October 23, 2016 15:59
CoreData Service for RestKit Manager
#import "CoreDataManager.h"
#import <RestKit/RestKit.h>
#import "IGDebug.h"
@implementation CoreDataManager
@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
@dmitryshliugaev
dmitryshliugaev / Package Control.sublime-settings
Created June 4, 2015 12:40
My package list on sublime text 3
"AngularJS",
"AutoFileName",
"Autoprefixer",
"Color Highlighter",
"HTML-CSS-JS Prettify",
"HTML5",
"HTMLAttributes",
"Jade",
"JsFormat",
"JSHint Gutter",