Skip to content

Instantly share code, notes, and snippets.

View simonjodet's full-sized avatar

Simon Jodet simonjodet

View GitHub Profile
@simonjodet
simonjodet / ngtoggle.js
Last active August 29, 2015 14:02
Angular directive to have an element toggle another element's display on click
'use strict';
angular.module('myApp').directive(
'ngToggle',
function() {
var factory = {
restrict: 'A',
link: function postLink(scope, element, attributes) {
$(element).on('click', function(event) {
event.preventDefault();
@simonjodet
simonjodet / ngselectonfocus.js
Created June 10, 2014 15:04
Angular directive to select the content of a textarea when it's focused
'use strict';
angular.module('myApp').directive(
'ngSelectOnFocus',
function() {
var factory = {
restrict: 'A',
link: function postLink(scope, element) {
$(element).focus(function(event) {
event.target.select();
<!DOCTYPE HTML>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>Dynamic Pagination w/ Filtering</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Kim Maida">
<!-- JS Libraries -->
@simonjodet
simonjodet / packager.php
Created June 18, 2011 06:46
Build a PHAR without hidden files
<?php
//Cleaning up any existing phar
if(file_exists('package.phar'))
{
unlink('package.phar');
}
//Where are my application sources
$dir = '../app/';
//Quickly get a recursive folder list
@simonjodet
simonjodet / gist:1471967
Created December 13, 2011 12:28
Check file path doesn't go up too much
path = ".."
rootpath = File.expand_path(".")
realpath = File.expand_path(rootpath + "/" + path)
if realpath == rootpath or realpath.index(rootpath).nil?
puts "You went too far up"
end
@simonjodet
simonjodet / gist:1472043
Created December 13, 2011 12:56
Ruby - Execute a shell command
cmd = 'ls'
stdin, stdout, stderr = Open3.popen3(cmd)
stdout = stdout.readlines.to_s
stderr = stderr.readlines.to_s
@simonjodet
simonjodet / usb_eject.rb
Created December 18, 2011 08:35
Mac OS external drives eject tool
#!/usr/bin/env ruby
# External USB drives eject tool.
# You should install growlnotify to get notifications from http://growl.info/extras.php#growlnotify
# It will eject all USB disks and all mounted images. It will warn you with a red icon if something goes wrong
# It starts from the bottom to the top to tentavily eject the mounted images before the drive they could be on.
#
# Advices:
# - Use Automator to make this script an app
# - Install Better Touch Tool (http://www.boastr.de/) to give it a global shortcut
@simonjodet
simonjodet / gist:1570469
Created January 6, 2012 12:48
Extend TextMate
# Install Project+: http://ciaranwal.sh/projectplus
mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd !$
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
osascript -e 'tell app "TextMate" to reload bundles'
@simonjodet
simonjodet / gist:2713959
Created May 16, 2012 21:07
Nginx configuration for pretty URLs in Silex
server
{
listen 80;
server_name website.loc www.website.loc;
access_log /var/log/nginx/website.access_log;
error_log /var/log/nginx/website.error_log;
root /var/www/website.loc/web/;
index index.php;
@simonjodet
simonjodet / Anonymous.php
Created June 4, 2012 08:18
PHP anonymous class
<?php
/**
* This is an helper class to quickly create anonymous classes
* Usage:
* $shellWrapper = new Anonymous();
* $shellWrapper->exec = function($command) use($shellWrapper)
* {
* return exec($command);
* };
* $shellWrapper->exec('ls -la .');