Skip to content

Instantly share code, notes, and snippets.

View evizitei's full-sized avatar

Ethan Vizitei evizitei

  • Instructure
  • Columbia, MO
View GitHub Profile
def restore_from_destroyed_string(string,clss)
clean_string = string.gsub(/>, #<[A-Za-z0-9]+\sid:/,'}, {:id=>').
gsub(/,\s([A-Za-z0-9_]+):\s/,', :\1=> ').
gsub(/>\]$/,"}]").
gsub(/^\[#<[A-Za-z0-9]+\sid:/,"[{:id=>")
attr_array = eval(clean_string)
attr_array.each do |attrs|
success = clss.new(attrs).save
puts "creating object #{attrs[:id]}...#{success}"
end
class ActiveSupport::TestCase
#...
def assert_contains(collection,item)
assert_not_nil collection.index(item)
end
def assert_does_not_contain(collection,item)
assert_nil collection.index(item)
end
@evizitei
evizitei / moonshado_env.rb
Created November 13, 2010 21:23
This is put into your cucumber env.rb file to collect all messages sent through Moonshado in an array that you can check later in your scenario.
module Moonshado
class Sms
cattr_accessor :sent_messages
def deliver_sms
raise MoonshadoSMSException.new("Invalid message") unless is_message_valid?(@message)
data = {:sms => {:device_address => format_number(@number), :message => @message.to_s}}
self.class.sent_messages ||= []
=form_for(brand,:url=>save_brand_content_path,:html => { :multipart => true }) do |f|
=hidden_field_tag :brand_id,brand.id
-if content
=hidden_field_tag :content_type,content.class.to_s
=hidden_field_tag :id,content.id
#page_header
#brand_name
=f.text_field :name
= image_tag(brand.logo.url(:medium))
=f.file_field :logo
"GET /heroku/resources/id":
'renders 404 when the project is not found': ->
@response = new mocks.Response()
@response.render = (params...) ->
@rendered = true
assert.equal params[0], '404'
ProjectsController.show(new mocks.Request(app_id: 1), @response)
module Tandem
class Config
def self.current_user(&block)
SomeController.send(:define_method, :current_user, block)
end
end
end
require 'mathn'
n = 600851475143
Prime.each do |x|
while n % x == 0
n = n/x
end
break if x > n/2
end
puts n
ans = 0
for i in 100..999
for j in (100..999).to_a.reverse
x = i*j
if x == (x).to_s.reverse.to_i
ans = x
break
elsif x < ans
break
end
@evizitei
evizitei / seeds.rb
Created March 21, 2012 20:31
A useful seed file for Chris
# This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
#
# Examples:
#
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
# Mayor.create(name: 'Emanuel', city: cities.first)
Interview.delete_all
User.delete_all
@evizitei
evizitei / double_join_query.rb
Created June 4, 2012 20:04
a useful sql statement to avoid a subquery
self.class.find_by_sql(["SELECT users.* FROM users
INNER JOIN connections AS second_degree_connections
ON second_degree_connections.target_id = users.id
INNER JOIN connections AS first_degree_connections
ON first_degree_connections.target_id = second_degree_connections.owner_id
WHERE first_degree_connections.owner_id = ?", self.id])