Skip to content

Instantly share code, notes, and snippets.

View kryzhovnik's full-sized avatar

Andrey Samsonov kryzhovnik

  • Serbia, Novi Sad
View GitHub Profile
class InclusionWithBlockValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
begin
enum = options[:in].call
raise unless enum.kind_of?(Enumerable)
rescue
raise "value of :in option at inclusion_with_block validator " +
"must be a block those return enumerable object"
end
unless enum.include?(value)
@kryzhovnik
kryzhovnik / en.yml
Created February 2, 2011 01:39
требует установленного гема ya2yaml (gem install ya2yaml)
en:
name:
first: Andrey
last: Samsonov
email: 'andrey.samsonov@gmail.com'
github: 'https://github.com/kryzhovnik'
phone: '+7(927)695-8-444'
skype: 'andrey.samsonov'
country: Russia
city: Samara
@kryzhovnik
kryzhovnik / Rakefile
Created February 2, 2011 01:42
требует установленного гема loofah (gem install loofah)
desc <<END
Find all html files from the specified directory and clean them: removes comments, whitespaces, and carriage return.
Before using install loofah gem:
gem install loofah
Usage:
rake clean_html DIR=my_dir
Warning: by default, DIR variable point current directory - #{Dir.pwd}
SELECT "users".* FROM "users"
INNER JOIN "addresses" ON "addresses"."user_id" = "users"."id"
INNER JOIN "addresses" "countries_users_join" ON "users"."id" = "countries_users_join"."user_id"
INNER JOIN "countries" ON "countries"."id" = "countries_users_join"."country_id"
INNER JOIN "interests_users" ON "users"."id" = "interests_users"."user_id"
INNER JOIN "interests" ON "interests"."id" = "interests_users"."interest_id"
WHERE
("users"."level" BETWEEN 1 AND 45)
AND ("users"."date_of_birth" BETWEEN '1986-02-09' AND '1991-02-09')
AND ("countries"."title" ILIKE '%d%')
On Time ----------------------------------------
Running student tests found in features/ spec/:
Cucumber: 10 out of 10 scenarios passed
RSpec: 35 out of 35 tests passed
Score: 40/40
----------------------------------------
----------------------------------------
Checking coverage for:
controllers >= 90.00%

Когда мы хотим скопировать данные из production окружения Ruby on Rails приложения в development или staging, обычно, нам нужно скопировать дамп базы данных и статические файлы (например, изображения загруженные пользователями). Копирование базы может не представляет проблем (например, ее можно копировать из бэкапов или резервных серверов БД). А вот копирование статических файлов занимает много времени и ресурсов сервера с которого копируют (и на который копируются) файлы.

В рассылке ror2ru Макс Лапшин предложил

@kryzhovnik
kryzhovnik / routes.rb
Created May 22, 2015 15:34
Интеграция Яндекс.Кассы с Rails
# config/routes.rb
YandexKassaIntegration::Application.routes.draw do
# ...
scope '/yandex_kassa' do
controller 'yandex_kassa', constraints: { subdomain: 'ssl' } do
post :check
post :aviso
get :success
get :fail
source 'https://rubygems.org'
gem 'dry-types', '0.7.2'
gem 'reform', '2.2.1'
gem 'reform-rails', '0.1.2'
rails _5.2.4.3_ new test_ratl_plugin
cd test_ratl_plugin
Add following lines to Gemfile:
gem 'rails_admin'
gem 'rails_admin_tag_list', git: 'https://github.com/kryzhovnik/rails_admin_tag_list'
gem 'acts-as-taggable-on',
bundle
require 'benchmark'
module Config
N = 50000
A_LENGTH = 100
B_LENGTH = 10
def self.generate_array(length)
(1..length).map { (rand * length).round }
end