Skip to content

Instantly share code, notes, and snippets.

@briu
briu / operators_and.rb
Created August 26, 2016 11:05
interview
a = true and false
puts a
a = true && false
puts a
@briu
briu / dispatch.rb
Created August 26, 2016 11:14
interview
module A
def test
puts "module A"
end
end
module B
def test
puts "module B"
end
@briu
briu / global_scope.rb
Created August 26, 2016 11:15
interview
module A
def self.test
"FOO"
end
end
module Yo
module A
def self.test
"BAR"
@briu
briu / duck_type.rb
Last active August 29, 2016 09:44
interview
class CallCenter < ActiveRecord::Base
def self.prepare_to_work
all.each do |call_center|
if call_center.name == 'test1'
call_center.check_callmanagers
call_center.update_attributes(handled: 0)
elsif call_center.name == 'test2'
call_center.send_letters_to_customers
call_center.remove_managers
@briu
briu / transaction.rb
Last active August 29, 2016 16:00
interview
class Finance < ActiveRecord::Base
validate :check_amount
def check_amount
errors.add(:check_amount, 'quantity limit over!') if amount > 100
end
end
first = Finance.first
second = Finance.last
class Client
attr_reader :item
def initialize(item)
@item = item
end
def calculate_something
80 * 20
end
@briu
briu / modules.rb
Last active August 26, 2016 14:32
interview
module AddMePlease
def some_useful_method
2 + 2
end
def second_useful_method
2 * 3
end
end
@briu
briu / customers.sql
Created August 26, 2016 15:23
interview
CREATE TABLE customers (
source_id integer,
name varchar(255)
);
INSERT INTO customers (source_id, name) values (null, 't1'), (1, 't2'), (2, 't3'), (3, 't5'), (null, 't5');
SELECT COUNT(*) FROM customers WHERE source_id <> 3;
CREATE TABLE orders (
id integer,
name varchar(255),
address varchar(255)
);
CREATE TABLE order_items (
id integer,
price integer,
order_id integer,
class A
private
def some_method
puts 'HOLA!'
end
end
class B < A
def test_some_method_exec