Skip to content

Instantly share code, notes, and snippets.

View m4rr's full-sized avatar
🚀
IPO

Marat m4rr

🚀
IPO
View GitHub Profile
@m4rr
m4rr / Stack.swift
Last active February 2, 2016 12:23
class Stack {
typealias Element = Int
private var storage: [Element] = []
private var minimumList: [Element] = []
func push(item: Element) {
let minOfCurrentAndLast = min(item, minimum() ?? item)
minimumList.append(minOfCurrentAndLast)
//
// ViewController.swift
// ProductName
//
// Created by Marat S. on 13/08/2016.
// Copyright © 2016 m4rr. All rights reserved.
//
import UIKit
@m4rr
m4rr / .swiftlint.yml
Last active August 29, 2018 19:29
SwiftLint configuration expample
disabled_rules:
- force_cast
- function_body_length
# - trailing_newline
# - opening_brace
# - empty_count
# - comma
# - colon
# - type_name
# - variable_name_min_length
@m4rr
m4rr / .zshrc
Last active February 28, 2017 14:50
Check out a Pull Request via Terminal + Xcode ⌥⌘C
# Use like `gpr feature/IOS-314` - a branch from PR,
# this will checkout to a branch and un-commit all changes.
# Then open Xcode ⌥⌘C to see what's changed.
gpr() {
git checkout develop
git pull
git branch -D "$1"
git checkout "$1"
git reset --soft $(merge-base develop $(git rev-parse --abbrev-ref HEAD))
private func shakeFieldsAsError() {
errorFeedback()
[emailTextField, passwordTextField]
.enumerated()
.forEach { (index: Int, element: UITextField?) in
let c = element!.center
let ti = TimeInterval(index) * 0.05 // every next field is delayed from previous on 0.05 secs
let dur: Double = 0.25
@m4rr
m4rr / gist:9ee53d1d27d6c2c0227bb718d711963a
Created February 28, 2017 06:58
UISelectionFeedbackGenerator iOS 9 compatible
import UIKit
@available(iOS 10.0, *)
private var _generator: UISelectionFeedbackGenerator?
class SelectionFeedbackGenerator {
init() {
if #available(iOS 10, *) {
_generator = UISelectionFeedbackGenerator()
@m4rr
m4rr / main.swift
Last active June 19, 2017 10:35
command line calendar
import Foundation.NSFileHandle
import Darwin.C.stdlib
do {
let payload = CommandLine.arguments.dropFirst()
let task = try EventTask.create(fromOrdered: Array(payload))
let calendar = CalendarController()
try calendar.create(event: task)
} catch {
@m4rr
m4rr / Fastfile
Created June 19, 2017 13:07
Fastlane UPX
lane :pack do
gym(scheme: "myapp", silent: true)
puts %x( upx ../myapp )
end
@m4rr
m4rr / config.yml
Created February 7, 2018 11:54
CircleCI Config YAML
jobs:
# ...
make_build:
macos:
xcode: "9.2.0"
steps:
- checkout
# ...
- run:
name: decode Certificates
@m4rr
m4rr / Fastfile
Created February 7, 2018 14:33
CircleCI Config Fastfile
platform :ios do
before_all do
setup_circle_ci
import_certificate(
keychain_name: ENV["MATCH_KEYCHAIN_NAME"],
keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"],
certificate_path: 'Certificates.p12',
certificate_password: ENV["CERTIFICATE_PASSWORD"] || "default"
)