Skip to content

Instantly share code, notes, and snippets.

View snatchev's full-sized avatar
🎏
worse is better

Stefan Natchev snatchev

🎏
worse is better
View GitHub Profile
@snatchev
snatchev / gist:1316470
Created October 26, 2011 14:08
resque worker devise not eager loading
❷ > QUEUE=* rake resque:work --trace
** Invoke resque:work (first_time)
** Invoke resque:preload (first_time)
** Invoke resque:setup (first_time)
** Execute resque:setup
** Execute resque:preload
rake aborted!
No such file to load -- devise/confirmations_controller
/Users/stefan/.rvm/gems/ruby-1.9.2-p290@my-rails-project/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:306:in `rescue in depend_on'
/Users/stefan/.rvm/gems/ruby-1.9.2-p290@my-rails-project/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:301:in `depend_on'
@snatchev
snatchev / gh.fish
Last active May 22, 2022 06:57
a fish-shell function to open the current git repo/branch in a browser
function gh --description 'Open the webpage for the current github repo/branch'
set -l fetch_url (command git remote --verbose show -n origin ^/dev/null | command grep Fetch | cut -c 14- )
#did we get an exit status?
if [ $status -gt 0 ]
echo 'Not a git repo.'
return 1
end
if [ -z $fetch_url ]
@snatchev
snatchev / libuv-tcp-client.c
Created March 27, 2013 16:55
a libuv evented tcp client
#include <stdio.h>
#include <uv.h>
static void on_close(uv_handle_t* handle);
static void on_connect(uv_connect_t* req, int status);
static void on_write(uv_write_t* req, int status);
static uv_loop_t *loop;
static uv_buf_t alloc_cb(uv_handle_t* handle, size_t size) {
@snatchev
snatchev / .tmux.conf
Created July 16, 2020 14:11
Simple practical tmux conf
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
diff --git a/app/features-json/middleware/jwt_auth.rb b/app/features-json/middleware/jwt_auth.rb
index e6c1f15..9d0e1a1 100644
--- a/app/features-json/middleware/jwt_auth.rb
+++ b/app/features-json/middleware/jwt_auth.rb
@@ -5,14 +5,19 @@ require "jwt"
module FastlaneCI
# API Middleware responsible of authenticate all the requests that uses it.
class JwtAuth
- def initialize(app)
+ def initialize(app, encryption_key=nil)
@snatchev
snatchev / png.rb
Created January 12, 2018 18:58
a simple single-class PNG decoder in raw ruby with no external dependencies.
require 'zlib'
##
# This is a simple PNG decoder, inspired and adapted from ChunkyPNG
class PNG
SIGNATURE = [137, 80, 78, 71, 13, 10, 26, 10].pack('C8').force_encoding('BINARY')
attr_reader :width, :height, :depth, :color, :compression, :filtering, :interlace
##
@snatchev
snatchev / index.html
Created July 11, 2017 18:36
remote debugging
<html>
<head>
<script src="https://jsconsole.com/js/remote.js?snatchev"></script>
</head>
<body>
@snatchev
</body>
</html>
@snatchev
snatchev / SafariApnController.rb
Last active December 30, 2015 20:39
An example Ruby implementation using ZeroPush to send Safari Push Notifications
class SafariApnController < ApplicationController
# When a user allows permission to receive push notifications, a POST request is sent to the following URL:
# webServiceURL/version/pushPackages/websitePushID
# post '/:version/pushPackages/:website_push_id' => 'safari_apn#package'
def package
#return the push package
send_file(File.join(Rails.root, 'public', 'pushPackage.zip'), type: 'application/zip', disposition: 'inline')
end
@snatchev
snatchev / routes.rb
Last active December 16, 2015 07:09
DRYing up your Rails API routes. Rails' routing gives you the ability to add multiple contraints and scopes to routes. These conditions are and'ed together. Meaning all conditions must be true for the route to match. If you want to or them, to have any condition match, you are left with duplicated code. In this example, I wanted both http://api.…
Rails::Application.routes.draw do
def api_endpoints
controller :api do
resources :widget
post :register
get :help
end
end
@snatchev
snatchev / ringbuffer.rb
Last active December 15, 2015 17:10 — forked from eerohele/ringbuffer.rb
class RingBuffer < Array
attr_reader :max_size
def initialize(max_size, enum = nil)
@max_size = max_size
enum.each { |e| self << e } if enum
end
def <<(el)
if @max_size && self.size >= @max_size