Skip to content

Instantly share code, notes, and snippets.

View asux's full-sized avatar

Oleksandr Ulianytskyi asux

View GitHub Profile
@asux
asux / add_csrf_tocken.js
Created March 28, 2012 13:35
Initialize jQuery to add CSRF tocken on XHR request
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
}
});
@asux
asux / deploy.rb
Last active September 27, 2015 21:18
Vlad deploy.rb for PHP applications
set :shared_paths, {
'log' => 'log',
'pids' => 'tmp/pids',
'sockets' => 'tmp/sockets',
}
set :symlinks, {
'rvmrc' => '.rvmrc',
}
set :skip_scm, false
set :perm_owner, 'git'
@asux
asux / post-update
Created September 14, 2011 10:32
post-update Git hook for update repo in Redmine
#!/bin/bash
path="$(realpath $(dirname $0)/..)"
source /etc/profile.d/rvm.sh
cd /var/www/redmine
echo -n "Fetching changests for $(basename ${path}) repository in Redmine ... "
bundle exec rails runner -e production "Repository.find_by_url('${path}').fetch_changesets" && echo "OK" || echo "FAIL"
@asux
asux / deploy.rb
Last active September 27, 2015 04:38
My typical multistaging deploy.rb for Vlad
require 'bundler/vlad'
require 'vlad/rvm'
set :default_stage, 'production'
set :shared_paths, {
'log' => 'log',
'system' => 'public/system',
'pids' => 'tmp/pids',
'sockets' => 'tmp/sockets',
set :ruby_rvm_string, "ree-1.8.7-2011.03"
set :ruby_rvm_gemset, application
set :default_environment, {
'PATH' => "/home/git/.rvm/gems/#{ruby_rvm_string}@#{ruby_rvm_gemset}/bin:/home/git/.rvm/gems/#{ruby_rvm_string}@global/bin:/home/git/.rvm/rubies/#{ruby_rvm_string}/bin:/home/git/.rvm/bin:$PATH",
'GEM_HOME' => "/home/git/.rvm/gems/#{ruby_rvm_string}@#{ruby_rvm_gemset}",
'GEM_PATH' => "/home/git/.rvm/gems/#{ruby_rvm_string}@#{ruby_rvm_gemset}:/home/git/.rvm/gems/#{ruby_rvm_string}@global",
'BUNDLE_PATH' => "/home/git/.rvm/gems/#{ruby_rvm_string}@#{ruby_rvm_gemset}:/home/git/.rvm/gems/#{ruby_rvm_string}@global"
}
class ExeclyOneValidator < ActiveModel::Validator
def validate(record)
raise ArgumentError, ":fields option doesn't supplied" unless options.has_key?(:fields)
if options[:fields].select { |f| record.read_attribute(f.to_s).present? }.size != 1
_fields = options[:fields].map(&:to_s).map(&:titleize).join(", ")
record.errors[:base] << "execly one of #{_fields} must be present"
end
end
end
@asux
asux / mysql
Created January 25, 2011 13:09
This BASH script for Rails project. It runs MySQL embedded server (mysql server must be compiled with embedded feature). It must by under $RAILS_ROOT/script directory Author: Alexander Ulyanitsky <a.ulyanitsky@gmail.com> License: Rails (BSD)
#!/bin/sh
# This BASH script for Rails project.
# It runs MySQL embedded server.
# It must by under $RAILS_ROOT/script directory.
# Author: Alexander Ulyanitsky <a.ulyanitsky@gmail.com>.
# License: Rails (BSD).
case $(uname -s) in
Linux) gnu_readlink_bin="readlink";;
FreeBSD) gnu_readlink_bin="greadlink";;