Skip to content

Instantly share code, notes, and snippets.

View nicoolas25's full-sized avatar

Nicolas Zermati nicoolas25

View GitHub Profile
@nicoolas25
nicoolas25 / Gemfile
Created October 29, 2013 16:15
Rails 4 + Devise 3 + (google | windows live | facebook) Oauth2
gem 'devise'
gem 'omniauth'
gem 'omniauth-facebook'
gem 'omniauth-google-oauth2'
gem 'omniauth-windowslive'
@nicoolas25
nicoolas25 / benchmark.rb
Last active December 21, 2015 07:28
Compare an access speed between an instance variable and an accessor.
require 'benchmark'
n = 5000000
class A
def initialize(attribute)
@attribute = attribute
end
@nicoolas25
nicoolas25 / fineuploader-3.0.patch
Created December 4, 2012 09:26
Patch to make dragonfly happy with fineuploader 3.0. (for 3.1 see the paramsInRequestBody option)
--- fineuploader-3.0.js 2012-11-16 21:30:02.000000000 +0100
+++ fineuploader-3.0.patched.js 2012-12-04 10:21:56.799781578 +0100
@@ -1796,7 +1796,15 @@
var protocol = this._options.demoMode ? "GET" : "POST"
var form = qq.toElement('<form method="' + protocol + '" enctype="multipart/form-data"></form>');
- var queryString = qq.obj2url(params, this._options.endpoint);
+ // Params arn't given through form's action anymore but appened into it.
+ var queryString = qq.obj2url({}, this._options.endpoint);
+ for (paramName in params) {
@nicoolas25
nicoolas25 / user.rb
Created November 13, 2012 13:40
Allow only one connection before confirmation with Devise.
module OneConnectionBeforeConfirm
extend ActiveSupport::Concern
included do
before_create :generate_confirmation_token
after_create :send_on_create_confirmation_instructions
end
# This actions are not properly trigerred because of the rest of our modifications.
before_create :generate_confirmation_token
@nicoolas25
nicoolas25 / range_mixer.rb
Created July 4, 2012 12:00
Some class that may be useful for dealing with time ranges.
# This class assumes that you have ranges associated to a value
# and that you want to merge those values. This is, for instance,
# useful to count overlaps of date ranges.
#
# Example of uses:
#
# rm = RangeMixer.new(0..10, 0)
# rm.add(0..5){ |memo| memo + 1 }
# rm.add(0..5){ |memo| memo + 4 }
#