Skip to content

Instantly share code, notes, and snippets.

View morgler's full-sized avatar

Matthias Orgler morgler

View GitHub Profile
@Narnach
Narnach / opacity.sass
Created October 20, 2009 14:16
sass: opacity
/ This SASS function makes it easy to get cross-browser opacity.
/
/ Firefox and Safari use CSS opacity.
/ Internet Explorer 7 and 8 each require their own flavor of the opacity alpha filter.
/
/ See http://www.quirksmode.org/css/opacity.html for more info on opacity.
/
/ Pass an opacity value between 0.0 and 1.0
=opacity(!value)
:opacity= !value
@zhengjia
zhengjia / capybara cheat sheet
Created June 7, 2010 01:35
capybara cheat sheet
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@mattbrictson
mattbrictson / Gemfile
Created August 21, 2011 17:53
Configuring rails 3.1 and dragonfly to use Herkou and Amazon CloudFront
gem 'dragonfly', '~>0.9.4'
group :production do
gem 'fog' # for Amazon S3
end
@cpuguy83
cpuguy83 / loading_spinner.coffee
Last active August 30, 2020 13:49
Simple loading spinner for long requests with turbolinks and bootstrap modal
@PageSpinner =
spin: (ms=500)->
@spinner = setTimeout( (=> @add_spinner()), ms)
$(document).on 'page:change', =>
@remove_spinner()
spinner_html: '
<div class="modal hide fade" id="page-spinner">
<div class="modal-head card-title">Please Wait...</div>
<div class="modal-body card-body">
<i class="icon-spinner icon-spin icon-2x"></i>
@edelpero
edelpero / heroku_rails_phantomjs.md
Last active February 14, 2025 20:11
Heroku, Ruby on Rails and PhantomJS

#Heroku, Ruby on Rails and PhantomJS

In this post, I’m going to show you how to modify an existing Ruby on Rails app running on Heroku’s Cedar stack to use PhantomJS for screen scraping. If you’ve never heard of PhantomJS, it’s a command-line WebKit-based browser (that supports JavaScript, cookies, etc.).

Let’s get started. This is a high-level overview of the required steps:

  • Modify your app to use multiple Heroku buildpacks.
  • Extend your app to use both the Ruby as well as the PhantomJS buildpacks.
  • Confirm that everything worked.
@fadhlirahim
fadhlirahim / dirty_associations.rb
Last active January 31, 2024 09:16
Awesome simple solution for Rails ActiveRecord dirty tracking associations
# Credit Brandon Weiss of http://anti-pattern.com/dirty-associations-with-activerecord
# app/models/dirty_associations.rb
module DirtyAssociations
attr_accessor :dirty
attr_accessor :_record_changes
def make_dirty(record)
self.dirty = true
self._record_changes = record
@ustun
ustun / reducer_as_immutable_class.js
Created February 6, 2017 09:56
redux reducer from immutable class
var camelCase = require('lodash.camelcase');
const {Map, Record, List} = require('immutable');
class Todo extends Record({ description: null, completed: false }) {
toggle() {
return this.set('completed', !this.completed);
}
}
const InitialTodoApp = Record({
@pejalo
pejalo / testing.js
Last active April 7, 2020 13:49
Setup for testing HTTP-triggered Firebase Functions locally
const functions = require('firebase-functions'); // To stub config()
const admin = require('firebase-admin'); // To get credential cert for initializeApp
const firebase = require('firebase'); // To sign in test user and test database writes
const assert = require('chai').assert;
const sinon = require('sinon');
// https://firebase.google.com/docs/functions/unit-testing
// The functions make use of 'firebase-admin', whereas client-side code uses 'firebase'.
// We initialze 'firebase' here to mock client-side code.
@kerryboyko
kerryboyko / README.md
Last active April 26, 2023 16:08
VueJS Best Practices Guide

Deverus Vue.js Style Guide

Guide for developing Vue.js applications.

v. 0.0.1

Vue.js is an amazing framework, which can be as powerful as Angular or React, the two big heavy hitters in the world of front-end frameworks.

However, most of Vue's ease-of-use is due to the use of Observables - a pattern that triggers re-renders and other function calls with the reassignment of a variable.

@soulmachine
soulmachine / jwt-expiration.md
Last active April 10, 2025 12:28
How to deal with JWT expiration?

First of all, please note that token expiration and revoking are two different things.

  1. Expiration only happens for web apps, not for native mobile apps, because native apps never expire.
  2. Revoking only happens when (1) uses click the logout button on the website or native Apps;(2) users reset their passwords; (3) users revoke their tokens explicitly in the administration panel.

1. How to hadle JWT expiration

A JWT token that never expires is dangerous if the token is stolen then someone can always access the user's data.

Quoted from JWT RFC: