Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
а я чо сказал nil.empty? прочитал сам себя джвадцать раз, вроде там ничего про nil.empty и нет.
Возможно я не сказал что-то или вы не правельна меня понели.
явно что у ничего не может быть метода на пустоту
Объясняю: есть переменная окружения, к примеру ENV['BATTLE_NET_KEY']. Она по умолчанию nil, и если она нил нужно выдать сообщение об ошибке, но так же она может быть просто пустой строкой '' (кто-то задал ENV['BATTLE_NET_KEY'] = '') и в этом случае нужно вывести то же сообщение об ошибке.
Как это реализовать одним методом, чтобы не засорять код?
Может лучше method(ENV['BATTLE_NET_KEY']) ?
Тогда ответ что за method очевиден. Ну я написал выше как сделать чтоб .emtpy? работал для nil, но это грязный хак и проблемы не заставят себя ждать.
Хотя в данном случае по-моему проблема X-У, кто мешает сделать
У тебя же такаяже фигня, как и у меня? Для тебя тоже тамошние треды скатились? Ну вот на говнокоде ты вроде еще сидишь и не считаешь его унылым... Хотя всякие вебкилы с ботами превратили его в ядреныую помойку
или какулька типа такой:
делов то
а false != nil != true, лагична же!
Возможно я не сказал что-то или вы не правельна меня понели.
явно что у ничего не может быть метода на пустоту
Как это реализовать одним методом, чтобы не засорять код?
Сейчас:
ENV['BATTLE_NET_KEY'].nil? || ENV['BATTLE_NET_KEY'].empty?
Должно быть:
ENV['BATTLE_NET_KEY'].method?
Тогда ответ что за method очевиден. Ну я написал выше как сделать чтоб .emtpy? работал для nil, но это грязный хак и проблемы не заставят себя ждать.
Хотя в данном случае по-моему проблема X-У, кто мешает сделать
[ ENV['BATTLE_NET_KEY'], ENV['BATTLE_NET_REGION'], ENV['BATTLE_NET_REGION'] ].select{|x| x.nil? || x.empty?}
Но не смекну как добавлять сообщения-предупреждения о необходимости ввести то или иное значение.
keys = [ ENV['BATTLE_NET_KEY'], ENV['BATTLE_NET_REGION'], ENV['BATTLE_NET_LOCALE'] ].select{|x| x.nil? || x.empty?}
message = 'Env variables missing:' if keys.include?(nil) || keys.include?('')
message += " ENV['BATTLE_NET_KEY']" if keys[0] == nil || keys[0] == ''
message += " ENV['BATTLE_NET_REGION']" if keys[1] == nil || keys[1] == ['']
message += " ENV['BATTLE_NET_LOCALE']" if keys[2] == nil || keys[2] == ['']
message
return ""
else
return 'Env variables missing:'+keys.map{|x| "ENV[#{x}]"}.join(" ")
if keys.empty?
return ""
else
return 'Env variables missing:'+keys.map{|x| "ENV[#{x}]"}.join(" ")
end
Не пашет...
```
def self.check_environment_variables
checked_env_vars = %w(BATTLE_NET_KEY BATTLE_NET_REGION BATTLE_NET_LOCALE)
missing_env_vars = checked_env_vars.select { |env_var| ENV.fetch(env_var, '').empty? }
message = missing_env_vars.map { |env_var| "ENV['#{env_var}']" }.join(', ')
"Env variables missing: #{message}" if missing_env_vars.any?
end
```
А Хуюби - это ты сам придумал
попытка примирить поливановохолопов и хэпбернобояр провалилась
И да, я считаю, что хепбёрновка не нужна, ибо кунрэй/нихон ближе к самой задумке каны.