2013-09-30 27 views
1

我有这个config/initializer.rb,它让我加载yaml /config/application.yaml并执行类似于APP_CONFIG [“myvar”]的操作,我怎样才能为我的SPECS启用它?如何使用if语句在规范内部进行条件检查?

我的目标是做这样的事情:

require "spec_helper" 

describe BetaController do 
    describe "routing" do 

    if APP_CONFIG["viral"] and APP_CONFIG["beta"] 

     it "routes to #index do" do 
     get("/").should route_to("home#index") 
     end 

    end 

    end 
end 
+0

是这是你正在使用的宝石,还是你自己写的东西? –

+0

@farleyknight是这样的:http://fredwu.me/post/632640092/rails-use-app-config-for-your-application-specific – Rubytastic

+0

该博客帖子是从2010年开始的,它链接到的项目是no更长的维护。我会寻找一种方法来迁移到在github页面上链接到的新项目。 –

回答

1

我会建议使用这种宝石:

https://github.com/oshuma/app_config

Given this YAML file: 

--- 
admin_email: '[email protected]' 
api_name: 'Supr Webz 2.0' 
api_key:  'SUPERAWESOMESERVICE' 
Use it like so: 

AppConfig.setup!(yaml: '/path/to/app_config.yml') 

# Later on... 
AppConfig.admin_email # => '[email protected]' 
AppConfig.api_name  # => 'Supr Webz 2.0' 
AppConfig.api_key  # => 'SUPERAWESOMESERVICE' 

这可以很容易地添加到您的spec_helper

+0

实际上,我已经实现了这个,但是if语句失败在规范本身。我有一个全球和生产,开发部分,阅读更先进的比这个宝石,我改述问题其现在不清楚 – Rubytastic

+0

重新发布您的问题,如果它是完全不同的原来的。 –