@rubylang

Страница 1580 из 1684
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
ну он в принципе нужен как фронтенд сервер. Балансировка нугрузки, отдача статики, фильтрация запросов и.т.д.

его раньше перед апачем даже ставили, потому что последний легко ломался извне )

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
в зависимости от того в каком классе вызовешь #price - там искать и будет... может есть решения лучше - это первое что в голову пришло
спасибо за вариант решения, лучше чем дублировать в дочерних классах методы с вызовом super.

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
не работает или возвращает false?
чет в e.message вообще пусто

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
Подразумевается params[:str] == 'a' || params[:str] == 'b'
['a', 'b'].include? params[:str] как вариант

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

Mikhail
01.08.2018
06:35:46
черт, а я думала это к моему относится?
``` def foo ... rescue Error:Timeout => e ... rescue Error::Exception => e ... end ``` Вот так разные ошибки можно разделять.

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
http://blog.honeybadger.io/ruby-custom-exceptions/
о боже, спасибо, это офигенно!

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

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

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
https://ruby-doc.org/core-2.5.0/Encoding.html#method-c-default_external-3D
Что такое "перед вызовом гема"? Что такое вызов гема? Просто не поняла где именно это надо

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

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. Нужно подключать какой-то гем к тестам?

Страница 1580 из 1684