cd /vagrant
sudo gem install bundler --no-ri --no-rdoc
\curl -L https://get.rvm.io | bash -s stable --ruby
bundle
sudo apt-get update
## rake file lib/tasks/backup.rake | |
desc "Backup Everything Specified in config/backup.yml" | |
task :backup => [ "backup:db", "backup:push"] | |
namespace :backup do | |
RAILS_APPDIR = RAILS_ROOT.sub("/config/..","") | |
def interesting_tables |
String.prototype.mapConcat = (args...) -> | |
separator = args.slice(0,1) if $.type(args[0]) == 'string' or $.type(args[0]) == 'regexp' | |
separator or= '' | |
chars = @.split(separator) | |
rtn = [] | |
for char, i in chars | |
rtn.push(args[0].call(@, char, i) or char) | |
rtn.join('') |
String.prototype.arrayReplace = (args...) -> | |
rtn = @ | |
for set in args | |
rtn = rtn.replace(new RegExp(set[0], 'gi'), set[1]) | |
rtn |
REMOTE_URL_PATTERN = /\A(?:(?:http|https):\/\/[a-z0-9]+(?:[\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(?:\:[0-9]{1,5})?).*\z/ix | |
LOCAL_URL_PATTERN = /\A(?:[a-zA-Z]{1,2}\:\\\\?).*\z/ |
require 'will_paginate' | |
class Array | |
def paginate(all = nil, options = {}) | |
options[:page] = (options[:page].to_i == 0) ? 1 : options[:page].to_i | |
options[:per_page] = (options[:per_page].to_i == 0) ? 30 : options[:per_page].to_i | |
pagination_array = WillPaginate::Collection.new(options[:page], options[:per_page], self.size) | |
start_index = pagination_array.offset | |
end_index = start_index + (options[:per_page] - 1) | |
array_to_concat = self[start_index..end_index] |
module Spelling | |
require 'net/https' | |
require 'uri' | |
require 'rexml/document' | |
ASPELL_WORD_DATA_REGEX = Regexp.new(/\&\s\w+\s\d+\s\d+(.*)$/) | |
ASPELL_PATH = "aspell" | |
# | |
# @param String: spell_check_text - represents the source string |
class Object | |
def true? | |
self.respond_to?( :to_i ) ? !self.to_i.zero? : true | |
end | |
def false? | |
!true? | |
end | |
end |
module RangeScopes | |
extend ActiveSupport::Concern | |
module ClassMethods | |
# Order.between(1..5) => pulls all orders who's ids are between 1 and 4 | |
# Order.between(:customer_id, 1..4) => pulls all orders who's orders.customer_id is between 1 and 4 | |
def between(*args) | |
column = args.first.is_a?(Symbol) ? args.shift : :id | |
range = args.first |
class AddAdminToUsers < ActiveRecord::Migration | |
def change | |
add_column :users, :admin, :boolean, default: false | |
# convert existing users to admin | |
User.reset_column_information | |
User.find_each do |u| | |
u.update admin: true | |
end | |
end |