Skip to content

Instantly share code, notes, and snippets.

# encoding: utf-8
class PayerDecorator < Draper::Decorator
delegate_all
decorates :payer
def inn_unique?(inn)
Payer.where { (major_requisite.eq 'INN') & (major_requisite_value.eq inn) & (id.not_eq id) }.exists?
end
end
@yesnik
yesnik / product_test.rb
Last active August 29, 2015 14:13
Пример синтаксиса Ruby тестов
# encoding: utf-8
require 'test_helper'
class ProductTest < ActiveSupport::TestCase
# Определяем, какую из фикстур загружать для теста
# Это будет: test/fixtures/products.yml
# fixtures :products - Rails загрузит это по умолчанию
# Свойства товара не должны быть пустыми
@yesnik
yesnik / ruby_task_io.rb
Last active August 29, 2015 14:12
Задание по Ruby (IO)
# Пример 1
f = File.open('file.txt', 'w+')
f.write('Hello')
# Почему выводит "", а не "Hello"?
p f.read() #=> ""
# Пример 2
file = File.open("file.txt", "r")
p file.read #=> "Hello"
# Почему второй read снова не выводит "Hello"?
@yesnik
yesnik / ruby_task_2.rb
Created December 24, 2014 06:56
Задание по Ruby 2
# Пример 1
def m
a = 1
lambda { a + 1 }
end
f = m
a = 3
f.call #=> ?
# Пример 2
@yesnik
yesnik / ruby_task_1_answer.rb
Created December 23, 2014 05:03
Задание по Ruby 1 (ответ)
require 'time'
module Converter
extend Enumerable
@@methods = {}
def new(*args, &block)
initialize(*args, &block)
end
@yesnik
yesnik / ruby_task_1.rb
Last active August 29, 2015 14:11
Задание по Ruby 1
=begin
Представим, что у нас есть некоторый внешний источник,
который возвращает нам данные в виде массива хэшей, причем все значения в хэше - строки.
Нам нужно написать много разных преобразователей, которые выполняют преобразование
переданных данных по заданным правилам.
=end
# Создайте такой модуль Converter, который позволит создавать такие классы-преобразователи:
# Пример преобразователя: