- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
def self.check_environment_variables
env_variables_missing = ENV['BATTLE_NET_KEY'].nil? || ENV['BATTLE_NET_KEY'].empty? || ENV['BATTLE_NET_REGION'].nil? || ENV['BATTLE_NET_REGION'].empty? || ENV['BATTLE_NET_LOCALE'].nil? || ENV['BATTLE_NET_LOCALE'].empty?
message = 'Env variables missing:' if env_variables_missing
message += " ENV['BATTLE_NET_KEY']" if ENV['BATTLE_NET_KEY'].nil? || ENV['BATTLE_NET_KEY'].empty?
message += " ENV['BATTLE_NET_REGION']" if ENV['BATTLE_NET_REGION'].nil? || ENV['BATTLE_NET_REGION'].empty?
message += " ENV['BATTLE_NET_LOCALE']" if ENV['BATTLE_NET_LOCALE'].nil? || ENV['BATTLE_NET_LOCALE'].empty?
message if env_variables_missing
end
Кто-нибудь знает метод, которым можно проверять на nil и на empty одновременно?
FlySnake 06.06.2016 12:21 # +1
или какулька типа такой:
3_dar 06.06.2016 18:25 # +2
kipar 06.06.2016 23:16 # 0
делов то
Artik1994 08.06.2016 19:39 # 0
guest 07.06.2016 05:18 # +2
kipar 07.06.2016 09:56 # +2
LispGovno 07.06.2016 10:13 # 0
guest 07.06.2016 11:08 # 0
а false != nil != true, лагична же!
guest 07.06.2016 12:08 # 0
guest 07.06.2016 12:21 # 0
Возможно я не сказал что-то или вы не правельна меня понели.
явно что у ничего не может быть метода на пустоту
guest 07.06.2016 13:01 # 0
Artik1994 08.06.2016 11:33 # 0
Как это реализовать одним методом, чтобы не засорять код?
Сейчас:
ENV['BATTLE_NET_KEY'].nil? || ENV['BATTLE_NET_KEY'].empty?
Должно быть:
ENV['BATTLE_NET_KEY'].method?
kipar 08.06.2016 12:16 # 0
Тогда ответ что за method очевиден. Ну я написал выше как сделать чтоб .emtpy? работал для nil, но это грязный хак и проблемы не заставят себя ждать.
Хотя в данном случае по-моему проблема X-У, кто мешает сделать
LispGovno 08.06.2016 12:57 # 0
kipar 08.06.2016 13:23 # 0
LispGovno 08.06.2016 13:50 # 0
kipar 08.06.2016 14:36 # 0
Artik1994 08.06.2016 18:11 # 0
[ ENV['BATTLE_NET_KEY'], ENV['BATTLE_NET_REGION'], ENV['BATTLE_NET_REGION'] ].select{|x| x.nil? || x.empty?}
Но не смекну как добавлять сообщения-предупреждения о необходимости ввести то или иное значение.
Artik1994 08.06.2016 18:31 # −1
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
kipar 08.06.2016 18:49 # 0
return ""
else
return 'Env variables missing:'+keys.map{|x| "ENV[#{x}]"}.join(" ")
Artik1994 08.06.2016 19:03 # 0
if keys.empty?
return ""
else
return 'Env variables missing:'+keys.map{|x| "ENV[#{x}]"}.join(" ")
end
Не пашет...
Artik1994 08.06.2016 19:13 # 0
Artik1994 08.06.2016 19:23 # 0
Artik1994 08.06.2016 21:22 # 0
```
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
```
guest 11.06.2016 00:06 # −1
kegdan 11.06.2016 15:46 # 0
А Хуюби - это ты сам придумал
CHayT 11.06.2016 17:40 # +2
попытка примирить поливановохолопов и хэпбернобояр провалилась
inkanus-gray 11.06.2016 17:49 # +2
И да, я считаю, что хепбёрновка не нужна, ибо кунрэй/нихон ближе к самой задумке каны.
bormand 12.06.2016 06:16 # 0
3_14dar 12.06.2016 07:44 # +3