我可以为Clean Code Ruby使用对象而不是条件吗?

Ric*_*h_F 0 ruby conditional class

我有条件:environment为交易设置电子商务符号.当我开发时,我希望使用测试帐户.

if :environemnt == 'development'
    :ssl_merchant_id  = '001234'
    :ssl_user_id      = 'windoe6'
    :ssl_pin          = 'ABCDE'
elsif :environemnt == 'production'
    :ssl_merchant_id  = '006543'
    :ssl_user_id      = 'dingbat32'
    :ssl_pin          = 'AKEIN'
end
Run Code Online (Sandbox Code Playgroud)

我想使用类定义和对象创建来避免条件.清洁代码建议这样做.我无法看到绕过条件来选择这些符号集中的任何一个.

是否可以使用类定义来避免条件限制?我仍然需要创建两个类,然后选择一个必须在代码中选择的类.还有一个触发器可以选择使用或创建的对象.可以做到,怎么做?

mrz*_*asa 6

如果你真的想避免条件,你可以使用hashes with config:

config = {
  development: {
    ssl_merchant_id: '001234'
    ssl_user_id: 'windoe6'
    ssl_pin: 'ABCDE'
  }
  production: { 
    ssl_merchant_id: '006543'
    ssl_user_id: 'dingbat32'
    ssl_pin: 'AKEIN'
  }
}

config[environment.to_sym]
Run Code Online (Sandbox Code Playgroud)