Я программист на Python, а не Ruby, но просматривая примеры в Ruby docs для этого, я бы сказал, что поведение по умолчанию, как у вас, состоит в том, чтобы действовать как логическое. Вам нужно указать больше параметров для этого, чтобы сохранить значение.
opts.on("-s", "--service [SERVICE]", [:twitter, :identica], "Select a service (Twitter or Identica)" do |service|
options.service = service
end
Тогда options.service
должен иметь назначенную услугу. Я думаю ... Привет, это Руби. ; -)