Pavel
02.03.2018
09:58:22
И так на все случаи жизни
Roman
02.03.2018
09:59:38
хм, а где можно почитать про такие штуки в рельсе?
Pavel
02.03.2018
10:05:06
http://guides.rubyonrails.org/active_support_core_extensions.html
Vasiliy
02.03.2018
10:05:13
http://rusrails.ru/active-support-instrumentation
Google
Roman
02.03.2018
10:05:48
я это читал, но тут вообще ничего не понятно
спасибо
pchellovod
02.03.2018
10:13:09
я думал это одно и то же, только переведённое
Vasiliy
02.03.2018
10:30:48
у некоторый людей начинаются приступы аллергии на переведённую документацию
хотя стоп, я не тот линк кинул лол) http://rusrails.ru/active-support-core-extensions
Talgat
02.03.2018
11:12:53
http://www.michaelnielsen.org/ddi/how-to-crawl-a-quarter-billion-webpages-in-40-hours/
Ребята поясните: там написано что архитектура краулера принимает 141 потоков,
в рельсах это настраевается через: config/puma.rb или database.yml?
ojab
02.03.2018
11:13:57
А какое отношение рельсы имеют к описываемому в статье?
Talgat
02.03.2018
11:14:38
ojab
02.03.2018
11:15:45
Зачем краулеру рельсы?
и как ты его запускаешь из рельсов, непонятно
если через джобы — смотри документацию к твоему джобозапускателю (i. e. sidekiq/delayed_job/whatever)
Google
ojab
02.03.2018
11:18:16
но вообще джобопускатель, вероятно, будет работать медленнее чем скрипт на голых рубях с concurrent-ruby
Talgat
02.03.2018
11:18:43
sidekiq+selenium+nokogiri
ojab
02.03.2018
11:19:35
тогда https://github.com/mperham/sidekiq/wiki/Advanced-Options#concurrency
Talgat
02.03.2018
11:20:18
ojab Там написано что не стоит превышать concurrency выше чем 50
Andiskiy
02.03.2018
11:27:06
Ребята, а есть какое-либо руководство про dry в рельсах? интересует как должен быть построен класс, например, где что объявлять и в какой очередности? инклуд, константы, .....?
Диёр
02.03.2018
11:27:37
Aleksey
02.03.2018
11:28:03
Диёр
02.03.2018
11:28:28
но как же правило трёх
Евгений
02.03.2018
11:28:43
https://github.com/bbatsov/ruby-style-guide#classes--modules
https://github.com/bbatsov/rails-style-guide
Смерть
02.03.2018
11:29:03
https://github.com/arbox/ruby-style-guide/blob/master/README-ruRU.md
Andiskiy
02.03.2018
11:29:03
Смерть
02.03.2018
11:29:13
https://github.com/arbox/rails-style-guide/blob/master/README-ruRU.md
Русский перевод
Andiskiy
02.03.2018
11:29:58
Aleksey
02.03.2018
11:30:42
Andiskiy
02.03.2018
11:30:53
а в чем проблема то ?
ну наверно проблемы то нет, но это же каша и должен быть какой-то порядок, что повысит читабельность твоего кода.
Adamtsov
02.03.2018
11:32:01
Talgat
02.03.2018
11:36:19
@ArtemAdamtsov то есть несколько worker`ов ?
Google
Talgat
02.03.2018
11:37:13
@ArtemAdamtsov подобным образом или как
bundle exec sidekiq -q crawler1
bundle exec sidekiq -q crawler2
Adamtsov
02.03.2018
11:37:38
Да, именно процессов
А в процессе может быть например 25 Воркеров
Talgat
02.03.2018
11:39:01
@ArtemAdamtsov ?
Смерть
02.03.2018
16:11:07
У меня опять вопрос.
Есть
class A
def m
end
end
module B
def m
end
end
class C < A
include B
def c
m()
end
Как сделать так, чтобы в методе c вызывался m из класса, а не из модуля?
ojab
02.03.2018
16:12:42
сделать alias_method перед include и юзать новое имя метода
Смерть
02.03.2018
16:13:31
Хм, спасибо
Интересное решение
Так, в моей ситуации не подходит
Сейчас объясню почему, я плохой пример привел
class A
def a
m()
end
protected
def m
end
end
module B
def m
end
end
class C < A
include B
def c
a()
end
end
Вот так, нужно чтобы в методе a вызывался метод m из класа A
Ilya
02.03.2018
17:14:05
с send(:include..) можно поиграться
Иван
02.03.2018
17:14:48
А если сделать в методе модуля return super if self.instance_of?(C) сработает?
Это ещё больший костыль, но просто интересно)
biert
02.03.2018
17:52:36
как правильнее с точки зрения апи
GET /api/for_drivers/check_phone?phone=1233423432
или
GET /api/for_drivers/check_phone/1233423432
ojab
02.03.2018
17:53:57
/api/for_drivers/phones/123123/check
/:resource/:id/:action
biert
02.03.2018
17:55:29
спасибо
Google
Nikita
02.03.2018
17:57:31
/:resource/:id/:action
у него номер телефона скорее всего не айди, ему в колекшн параметром передавать придется
Anton
02.03.2018
20:40:31
Nursultan
02.03.2018
20:41:43
Задача решена) как я ее решил описал чуть ниже)
Anton
02.03.2018
20:42:47
Nursultan
02.03.2018
20:43:15
ojab
03.03.2018
10:11:03
Максим
03.03.2018
10:11:57
ну короче название параметра
как он будет в params называться
Aleksey
03.03.2018
10:33:21
народ, вопрос по Prawn. Есть элементарная задача перенести несколько картинок в 1 пдф. ImageMagick’ом это делается как convert 1.jpg 2.jpg output.pdf - но на выходе получается немного коряво. Хочу попробовать тоже самое правном. последнее что пробовал (тут немного псевдокода по отношению к image для наглядности):
Prawn::Document.generate(pdf_path, page_size: 'EXECUTIVE') do
images.each do |image|
start_new_page(size: image.size, layout: :portrait)
image image.path, at: [0, 0], width: image.width, height: image.height
end
end
на выходе получаю пустую белую страницу вместо картинки
No
03.03.2018
10:33:27
Руби комьюнити, хейтеры грейпа и прочие маргиналы
Есть дело
В grape есть опция values
которая задает допустимые значения
есть ли простой способ не валидировать эти values, а отфильтровывать все values за пределами этого массива?
я сейчас сделал через coerce_with
но есть одна большая проблема
grape чересчур умный
optional :languages, type: Array[String], values: ContentLanguages::AVAILABLE_CONTENT_LANGUAGES, coerce_with: ->(val) { filter_values(coma_separeted(val), ContentLanguages::AVAILABLE_CONTENT_LANGUAGES) }, documentation: { param_type: 'query' }
Вот в таком варианте
Google
Aleksey
03.03.2018
10:35:15
надо
больше
строчек
No
03.03.2018
10:35:20
Он почему-то заранее знает, что массив через запятую
Aleksey
03.03.2018
10:35:21
в
одну
слишком
сложно
No
03.03.2018
10:36:05
ещё один
откуда вы такие беретесь?
rekero
03.03.2018
10:36:46
Ты знаешь больше одного варианта?
Aleksey
03.03.2018
10:37:23
“забавно, человек, который не понимает о чем ты ему говоришь, считает тупым вас, а не себя”
Anton
03.03.2018
10:40:39
Aleksey
03.03.2018
10:41:23
Anton
03.03.2018
10:41:41
А, прости
Я не запалил, что псевдокод
Ты как картинки вставляешь?
Код покажешь?
No
03.03.2018
10:42:12