У меня есть очень длинный случай заявление:Короткий путь написать длинное сазе
def gather_intel
case OPTIONS[:type]
when /osha/
FORMAT.info('Creating OSHA Regional email..')
EMAILS.osha_reg
when /pend/
FORMAT.info('Creating 6 day hold pending email..')
EMAILS.pend
when /60/
FORMAT.info('Creating 60 day hold account deletion email..')
EMAILS.sixty_day
when /generic/
FORMAT.info('Creating generic email..')
EMAILS.generic
when /resolve/
FORMAT.info('Creating resolution ticket..')
EMAILS.resolve
when /esc/
FORMAT.info('Creating escalation ticket..')
EMAILS.assign
when /pii/
FORMAT.info('Creating request to remove personal info..')
EMAILS.remove_pii
when /vip/
FORMAT.info('Creating VIP user email..')
EMAILS.vip_user
when /inop/
FORMAT.info('Creating INOP user email..')
EMAILS.in_op_user
when /dev/
if OPTIONS[:type].to_s.include?('dev=unlock')
message = 'unlock'
else
message = 'password reset'
end
FORMAT.info("Creating dev account #{message} email")
EMAILS.dev_account(OPTIONS[:type])
else
raise ERROR
end
end
Это case statement
работает, однако я не смогу показать вам остальную часть кода из-за чувствительности проекта и материала. Мой вопрос в том, есть ли более простой способ писать этот case statement
или более короткий способ его написать?
Вам не нужно, чтобы ваш пример был таким длинным. Вы могли бы свести его к нескольким статьям без изменения сути вопроса. –
@CarySwoveland Я просто скопировал весь метод до SO, просто чтобы быть уверенным. Не хотел, чтобы кто-то предполагал, что я ничего не сделал. – JohnDoeYo
Правильно ли я принимаю 'info' в' FORMAT.info ('Создание электронной почты пользователя INOP ..') 'является методом? –