cd /vagrantsudo gem install bundler --no-ri --no-rdoc\curl -L https://get.rvm.io | bash -s stable --rubybundle
sudo apt-get update
| 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 Hash | |
| def compact(opts={}) | |
| inject({}) do |new_hash, (k,v)| | |
| if !v.nil? | |
| new_hash[k] = opts[:recurse] && v.class == Hash ? v.compact(opts) : v | |
| end | |
| new_hash | |
| end | |
| end | |
| end |
| cd ~ | |
| sudo apt-get update | |
| sudo apt-get install openjdk-7-jre-headless -y | |
| ### Check http://www.elasticsearch.org/download/ for latest version of ElasticSearch and replace wget link below | |
| # NEW WAY / EASY WAY | |
| wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.deb | |
| sudo dpkg -i elasticsearch-1.1.1.deb |
| #!/usr/bin/env bash | |
| cd ~ | |
| sudo apt-get update | |
| sudo apt-get install curl wget | |
| # install ruby | |
| curl -sSL https://get.rvm.io | bash -s stable --ruby="2.0.0-p353" | |
| # install imagemagick |
| #!/bin/sh | |
| # Credits to: | |
| # - http://vstone.eu/reducing-vagrant-box-size/ | |
| # - https://github.com/mitchellh/vagrant/issues/343 | |
| sudo su | |
| aptitude -y purge ri | |
| aptitude -y purge installation-report landscape-common wireless-tools wpasupplicant ubuntu-serverguide |
Scenario: you're pulling all User records that do not have any associated Activities. In Rails you may find yourself doing something like this...
User.all.select { |user| user.activities.blank? }Pretty simple to implement, but a performance hog: Rails will load a new ActiveRecord Object for each User, then call for all activities related to the user; simply to determine, which do and don't have any Activites: bad idea.
We can achieve the same result with a fraction of the overhead, using LEFT OUTER JOIN.
| require "ostruct" | |
| class Arguments | |
| def initialize(arguments) | |
| @whiny = arguments.delete(:whiny) || false | |
| @arguments = arguments | |
| @delegee = OpenStruct.new(@arguments) | |
| end | |
| def method_missing(method, *args) |
| " shortcuts | |
| inoremap jk <Esc> | |
| :hi CursorLine cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white | |
| :hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white | |
| :nnoremap <Leader>c :set cursorline! cursorcolumn!<CR> | |
| autocmd BufWritePre * :%s/\s\+$//e | |
| " close buffer | |
| nmap <leader>d :bp<bar>sp<bar>bn<bar>bd<CR> |
| class Sampson < Character | |
| def when(event, &block) | |
| @events[event] ||= [] | |
| @events[event] << block | |
| end | |
| def bite_thumb | |
| call_event :bite_thumb | |
| end |