Вы можете создать вспомогательный класс SSL и использовать его (я бы поместил его в lib, но это в основном просто пользовательские настройки):
class MySSL
SSL_DEFAULTS = {
:ssl_cacert => 'ca_cert.cer',
:ssl_cery => 'acert.crt',
:ssl_key => 'akey.key'
}
def self.get(uri, options = {})
options.reverse_merge!(SSL_DEFAULTS)
Typhoeus::Request.get(uri, options)
end
# And so forth for post, etc.
end
Где reverse_merge! - это удобное расширение Rails для предоставления параметров по умолчанию для хэша (если исходный хэш уже имеет эти ключи, они не будут перезаписаны). Вы также избегаете установки глобальной переменной, используя константу класса. А в остальной части кода вы можете позвонить
MySSL.get('https://example.com/action')
или
MySSL.get('https://example.com/action', :other => :options)
намного чище, по сравнению.
Надеюсь, это поможет!