This file contains hidden or 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
| create_table "addresses", :force => true do |t| | |
| t.string "firstname" | |
| t.string "lastname" | |
| t.string "address1" | |
| t.string "address2" | |
| t.string "city" | |
| t.integer "state_id" | |
| t.string "zipcode" | |
| t.integer "country_id" | |
| t.string "phone" |
This file contains hidden or 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
| #you can now chain operations by scope | |
| Order.scoped_by_customer_id(12) | |
| Order.scoped_by_customer_id(12).find(:all, :conditions => "status = 'open'") | |
| Order.scoped_by_customer_id(12).scoped_by_status("open") | |
| #Customer is a trillion row table | |
| Customer.find_in_batches(:conditions => {:active => true}) do |customer_group| | |
| customer_group.each { |customer| customer.update_account_balance! } | |
| end |
This file contains hidden or 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 model_for_table(table_name) | |
| table_name.classify.constantize | |
| end | |
| def index | |
| schemas = Hash.new | |
| ActiveRecord::Base.connection.tables.each do |table| | |
| if table != "schema_migrations" | |
| model = model_for_table(table) | |
| schemas[model.table_name] << model.columns.map { |c| { :name => c.name, :type => c.type } } |
This file contains hidden or 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 'rubygems' | |
| require 'amatch' | |
| require 'digest/sha1' | |
| #data structs | |
| REF_SHA = Digest::SHA1.hexdigest('I would much rather hear more about your whittling project') | |
| DICT = File.read('mydict.txt').map { |x| x.chomp } | |
| ALPHA = (('A'..'Z').to_a << ('a'..'z').to_a).flatten | |
| HAM = Amatch::Hamming.new(REF_SHA) |
This file contains hidden or 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
| irb(main):001:0> require 'rubygems' | |
| => true | |
| irb(main):002:0> require 'amatch' | |
| => true | |
| irb(main):003:0> str1 = 'cd36b6dc8d4ed51b36dd7fce08f500392a7fb782' | |
| => "cd36b6dc8d4ed51b36dd7fce08f500392a7fb782" | |
| irb(main):004:0> str2 = '6cac827bae250971a8b1fb6e2a96676f7a077b60' | |
| => "6cac827bae250971a8b1fb6e2a96676f7a077b60" | |
| irb(main):005:0> m = Amatch::Hamming.new(str1) | |
| => #<Amatch::Hamming:0xb79cc5cc> |
This file contains hidden or 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
| capotej@P1:~ ➔ irb | |
| irb(main):001:0> 1,3 | |
| SyntaxError: compile error | |
| (irb):1: syntax error, unexpected ',', expecting $end | |
| from (irb):1 | |
| irb(main):002:0> lamda do | |
| irb(main):003:1* 1,3 | |
| irb(main):004:1> end | |
| SyntaxError: compile error | |
| (irb):3: syntax error, unexpected ',', expecting kEND |
This file contains hidden or 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
| #cdr in ruby benchmarks | |
| require 'benchmark' | |
| arr = (0...1000).to_a | |
| puts Benchmark.measure { 10000.times { arr.values_at(1..-1) } } | |
| # 0.570000 0.010000 0.580000 ( 0.586325) | |
| puts Benchmark.measure { 10000.times { arr.slice(1..-1) } } | |
| # 0.020000 0.000000 0.020000 ( 0.012761) |
This file contains hidden or 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 'open-uri' | |
| puts open('http://j.mp/3nqLRU').read.match(/<text>((\d|\.|\ )*)/)[0].gsub('<text>','').split(' ').map { |x| x.split('.').map { |y| ('A'..'Z').to_a[y.to_i - 1] } } |
This file contains hidden or 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 'open-uri' | |
| require 'benchmark' | |
| def p | |
| print '.' | |
| end | |
| #non threaded | |
| u = Benchmark.measure do | |
| open('http://www.yahoo.com').read;p |