
Nerzh
31.07.2018
11:21:52
дикие и все самые умные, 5 из 400 наберется просто на 5-ти пофигистах, которые просто клацнут неразбираясь
надо делать на блокчейне
и платить за голос биткоинами
и чтоб каждый сам майнил свою транзакцию )

Google

Vitaliy
31.07.2018
11:24:44
вот точно)

Rafkat
31.07.2018
17:17:33
Ьаклер тайм-аут не ставит однако

Evgeny
31.07.2018
19:46:05
Всем привет, подскажите, для RoR какой сервер лучше использовать? Пытаюсь поставить Redmine, пока не получается ничего. Nginx или Apache2?

Fedor
31.07.2018
19:55:34
puma
идет в комплекте с рельсой
есть еще unicorn и passanger

Undefined
31.07.2018
19:56:30
Nginx для статики больше обычно

Fedor
31.07.2018
19:57:19
ну он в принципе нужен как фронтенд сервер. Балансировка нугрузки, отдача статики, фильтрация запросов и.т.д.
его раньше перед апачем даже ставили, потому что последний легко ломался извне )

Undefined
31.07.2018
19:58:02

Dmitry
31.07.2018
20:03:45
У нас редмайн есть на всем запущенный, и на пуме и на юникорн и через passenger и через nginx. Puma + nginx самое бодрое сочетание.

Evgeny
31.07.2018
20:06:11
а не поделитесь инструкцией? мучаюсь второй день со связкой nginx и thin
и ruby как лучше ставить, через RVM?

Google

Сергей
31.07.2018
21:19:21
Помогите использовать полиморфизм в данном примере пожалуйста. Есть 2 класса JSON_ONE и JSON_TWO, которые наследуются от класса JSON. В классе JSON_ONE определен метод item, который возвращает @json['items']['item']. А в JSON_TWO - метод cart, возвращающий @json['items']['cart']. В родительском классе JSON есть метод price, который должен получать @json['items']['cart']['price'] или @json['items']['item']['price'], в зависимости от дочернего класса, в котором вызывается - менять cart.dig('price') или item.dig('price') в методе price класса JSON.
Делал в классе JSON в метод price так
def price(type)
@json.dig('items',type,'price')
end
А в дочерних методы price с super('cart') и super('item'), но это же не полиморфизм

skynet
31.07.2018
21:36:32
а это что, чистый руби?

Сергей
31.07.2018
21:39:24

skynet
31.07.2018
21:43:37
class JSON # Json
def price
@json.dig('items', "#{self.class.to_s.downcase}", price)
end
end
class JSON_ONE < JSON; end
class JSON_TWO < JSON; end
в зависимости от того в каком классе вызовешь #price - там искать и будет... может есть решения лучше - это первое что в голову пришло

Сергей
31.07.2018
21:46:26

skynet
31.07.2018
21:48:15
пожалуйста, в целом вариант вполне ок, @cart.price.to_f #=> 15.99, @item.price.to_f #=> 4.55 ну примерно как то так)

Сергей
31.07.2018
22:06:54

skynet
31.07.2018
22:08:58
щас перепишем)

Сергей
31.07.2018
22:12:52
щас перепишем)
нашел решение. сделать в родительском классе, один из дочерних в методе price - @json['items']['cart']['price'], и в дочернем Item сделать метод price c переопределением @json['items']['item']['price']

skynet
31.07.2018
22:13:16
"#{self.class.to_s.split('::').last.downcase}" - а вообще вроде есть demodulize
а вообще да, как вариант
require 'active_support'
...
#{self.class.demodulize.downcase}
...
ну как варик, все зависит от дизайна фичи)
require 'active_support/core_ext/string/inflections' - ссори

Oleg
01.08.2018
04:58:33
Что за петычи?)

Ann
01.08.2018
06:09:47
А можно ли делать два resque в одном методе, чтобы ловить разные виды ошибок?
Например вместо
def foo
...
rescue Error:Timeout, Error::Exception => e
...
end
сделать
def foo
...
rescue Error:Timeout => e
...
end
rescue Error::Exception => e
...
end
Где то далеко далеко впереди мне нужно разделять ошибки таймаута или еще какие, а как передать сообщение - без понятия, использование e особо ничего не дает, хотя возможно я делаю что-то не так

Sergey
01.08.2018
06:30:55
А почему не работает? ?
1 == (2 || 1)

Google

Sergey
01.08.2018
06:31:39
потому что 2 и так тру..

Pavel
01.08.2018
06:31:47
не работает или возвращает false?

Sergey
01.08.2018
06:31:49
как бы так написать без повторений)
Подразумевается
params[:str] == 'a' || params[:str] == 'b'

Ann
01.08.2018
06:33:36

Sergey
01.08.2018
06:34:00
false, конечно
оно берет 2, потому что в логической операции 2 будет как true

Ann
01.08.2018
06:34:26
черт, а я думала это к моему относится?

Sergey
01.08.2018
06:34:38
=) сорян

Pavel
01.08.2018
06:34:48

Sergey
01.08.2018
06:35:44
о, кстати, да

Mikhail
01.08.2018
06:35:46

Admin
ERROR: S client not available

Pavel
01.08.2018
06:37:38
def foo
...
rescue [Error:Timeout, Error::Exception] => e
...
end
можно вроде бы еще так, если надо объединить несколько

Ann
01.08.2018
06:39:15
а если я хочу в свой класс ошибок передать доп параметр, как это сделать? Объявить инициалайзер?
rescue Error::Timeout => e
raise MyError.new(e.message, 'timeout')
Это вообще законно?

Pavel
01.08.2018
06:41:42
Вот тут вроде хорошо кастомные классы для ошибок описаны
http://blog.honeybadger.io/ruby-custom-exceptions/

Ann
01.08.2018
06:42:28

Zamira
01.08.2018
06:58:09
Пссс... есть кто здесь?)

Aleksey
01.08.2018
06:59:18
есть

Google

Zamira
01.08.2018
07:00:48
У меня проблемка. Гем sitemap generator нагенерил мне файлики. Когда открываю страницу, рельса ругается на кодировку. Your template was not saved as valid UTF-8. Разархивировала sitemap.xml.gz, там явно указана кодировка UTF-8. Что мне делать? ?

Aleksey
01.08.2018
07:09:17
кодировка указанная в <?xml version="1.0" encoding="UTF-8"?> и кодировка текста в файле - это разные вещи
предлагаю копать в эту сторону

Zamira
01.08.2018
07:10:28

Aleksey
01.08.2018
07:10:45
можно рубями открыть сгенеренный файл и попробовать узнать какая там кодировка - File.read(‘simemap.xml’).encoding

Zamira
01.08.2018
07:12:11

Aleksey
01.08.2018
07:14:57
ну фиг знает, остается только залезть по бектрейсу к этой ошибке “Your template was not saved as valid UTF-8” стать дебаггером и посмотреть что ему не так

Mikhail
01.08.2018
07:15:33

Zamira
01.08.2018
07:17:30

Mikhail
01.08.2018
07:18:28
https://ruby-doc.org/core-2.5.0/Encoding.html#method-c-default_external-3D

Zamira
01.08.2018
07:19:57

Mikhail
01.08.2018
07:21:14
Перед вызовом методов которые доступны в геме имелось ввиду, тех которые генерируют «файлики».

Zamira
01.08.2018
07:22:46
Таск самого гема

Andrey
01.08.2018
07:52:35
Я хочу добавить возможность запуска на mri модульного рельс приложения(настроено под jruby) . Я вытащил все зависимости (бд и небольшой кусок джава кода), уже работает. Для каждого модуля были два гемспека под mri и jruby. В jruby он такой же, только добавлено s. platform ='java'. Босс говорит это важно) вопрос: чтобы на jruby ничего не поломалось имеет ли смысл добавить такой код в один гемспек: s. platform = 'java' if RUBY_ENGINE =='jruby'

Сергей
01.08.2018
07:56:29
Никто не сталкивался с такой проблемой - создал гем. В коде класса в lib в методе есть преобразование to_bool и "#{Rails.root}". В проекте нормально вызывается данный метод, а вот в spec на этот класс падает ошибка NoMethodError: undefined method `to_bool' for true:TrueClass и NameError: uninitialized constant Rails. Нужно подключать какой-то гем к тестам?

Смерть
01.08.2018
08:15:17