Size: a a a

2017 June 23

PT

Pavel Tkachenko in Rubyata
что за проект такой?
источник

RK

Roman Kononov in Rubyata
IronMQ
источник

MS

Mikhail Sytchev in Rubyata
видел что в config.ru  rack приложения иногда запускают через run App.freeze
источник

MS

Mikhail Sytchev in Rubyata
зачем фризить константу в данном случае? она как-то мутировать может?
источник

MS

Mikhail Sytchev in Rubyata
какие подводные камни?
источник

RS

Rustam Sharshenov in Rubyata
фризить обычную константу может быть смысл, но зачем вызывать freeze у класса - хз
источник

MS

Mikhail Sytchev in Rubyata
и именно на ране
источник

MS

Mikhail Sytchev in Rubyata
интересно, видел в нескольких проектах
источник

RS

Rustam Sharshenov in Rubyata
2.2.1 :001 > Integer.frozen?
=> false
2.2.1 :002 > Integer.send(:define_method, :lol) { "azaza" }
=> :lol
2.2.1 :003 > 5.lol
=> "azaza"
2.2.1 :004 > Integer.freeze
=> Integer
2.2.1 :005 > Integer.send(:define_method, :kek) { "ololo" }
RuntimeError: can't modify frozen class
from (irb):5:in `define_method'
from (irb):5
from /Users/rustam/.rvm/rubies/ruby-2.2.1/bin/irb:11:in `<main>'
источник

RS

Rustam Sharshenov in Rubyata
может, чтобы сломать метапрограмминг?
источник

KO

Kalys Osmonov in Rubyata
бгг
источник

MS

Mikhail Sytchev in Rubyata
ух ты
источник

MS

Mikhail Sytchev in Rubyata
крутяк
источник

PT

Pavel Tkachenko in Rubyata
Рубокоп ругается если не фризишь константы
источник

MS

Mikhail Sytchev in Rubyata
это следствие
источник

MS

Mikhail Sytchev in Rubyata
а причина?
источник

MS

Mikhail Sytchev in Rubyata
Кажется Рус прав
источник

MS

Mikhail Sytchev in Rubyata
чтобы не манкипатчили
источник

PT

Pavel Tkachenko in Rubyata
Ну и обычную константу изменить можно
источник

PT

Pavel Tkachenko in Rubyata
Руби разрешит
источник