This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def valid_json?(value) | |
JSON.parse value | |
true | |
rescue JSON::ParserError, TypeError | |
false | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
alter database DATABASE_NAME charset=utf8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MySingletonClass | |
include Singleton | |
def initialize | |
## Do some initializing | |
end | |
## Your business logic | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
apt-get -y update | |
apt-get -y install build-essential zlib1g-dev libssl-dev libreadline5-dev libyaml-dev | |
cd /tmp | |
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz | |
tar -xvzf ruby-1.9.3-p125.tar.gz | |
cd ruby-1.9.3-p125/ | |
./configure --prefix=/usr/local | |
make | |
make install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Disclaimer: this solution has been taken from the post: http://stackoverflow.com/a/5071198/784270 | |
# navigate to the bundler gem and in lib/bundler/runtime.rb, | |
# find the line that does Kernel.require and wrap it like this | |
puts Benchmark.measure("require #{file}") { | |
Kernel.require file | |
}.format("%n: %t %r") | |
# Add |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark' | |
name = 'my_cool_string' | |
Benchmark.bmbm(10) do |x| | |
x.report('name[0] hit') do | |
1_000_000.times { name[0] == 'm' } | |
end | |
x.report('name[0] miss') do | |
1_000_000.times { name[0] == 'y' } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'https://rubygems.org' | |
gem 'rack-reverse-proxy', require: 'rack/reverse_proxy' | |
group :development do | |
gem 'foreman' | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MemoryCache | |
DEFAULT_MAX_KEYS = 5000 | |
attr_reader :data, :max_keys | |
def initialize(config) | |
@data = {} | |
@max_keys = config[:max_cache_keys] || DEFAULT_MAX_KEYS | |
@lock = Mutex.new |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Currently, many times we are using ENV variables in a non-optimal way. | |
# I'd like to explain some of the common use cases for those variables | |
# and how we can use them in a way that we get the most out of it. | |
# A common error is to assume that the variable has to be there, but it isn't | |
# This happens when we use the ENV hash like this: | |
ENV['SOME_KEY'] | |
# In Ruby, if the key is missing, it will return `nil`, thus calling a method on it |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
YourApplication::Application.routes.draw do | |
root to: 'home#index' | |
get '/about' | |
get '/login' => 'application#login' | |
end | |
ADDITIONAL_ROUTES = [:messages, :orders, :api, :admin] | |
ADDITIONAL_ROUTES.each do |route_file| | |
require "#{Rails.root}/config/routes/#{route_file}" | |
end |
OlderNewer