小编Joe*_*eyC的帖子

使用ruby要求的参数

是否可以要求带参数/参数的文件?

例如

resource.rb有

mode = ARGV.first

if mode == "prod"
  #use prod db
else
  #use test db
end
Run Code Online (Sandbox Code Playgroud)

而main.rb需要它与params类似的东西

require_relative './resource.rb prod'
Run Code Online (Sandbox Code Playgroud)

如果这是不可能或不好的做法,请告诉我.我想我可以使用版本控制在测试和prod之间切换,但它似乎有点迟钝.

(prod和测试仅用于区分.这是一个非常轻量级的项目,如果它有任何区别,则不是商业:))

在Windows XP上使用Ruby 1.9.3谢谢.

我很惊讶,这已经没有答案了.只有使用宝石和使用ruby参数但不能同时使用两者的东西.

ruby parameters arguments require

5
推荐指数
2
解决办法
3064
查看次数

rspec - 如何使用多个用户输入存根方法?

如何使用rspec存根一个接受两个用户输入的方法?可能吗?

class Mirror
    def echo
        arr = []
        print "enter something: "
        arr[0] = gets.chomp
        print "enter something: "
        arr[1] = gets.chomp

        return arr
    end
end



describe Mirror do

    it "should echo" do
        @mirror = Mirror.new
        @mirror.stub!(:gets){   "foo\n" }
        @mirror.stub!(:gets){   "bar\n" }
        arr = @mirror.echo
        #@mirror.should_receive(:puts).with("phrase")
        arr.should eql ["foo", "bar"]

    end

end
Run Code Online (Sandbox Code Playgroud)

使用这些规范,@ mirror.echo的返回值是["bar","bar"],这意味着第一个存根被覆盖或被忽略.

我也试过使用@ mirror.stub!(:gets){"foo \nbar \n"}和@ mirror.echo返回["foo \nbar \n","foo \nbar \n"]

ruby rspec stub

4
推荐指数
1
解决办法
1756
查看次数

如何更新pouchDB文档中的单个字段

我创建了一个带有"_id","name"和"status"字段的pouchDB文档.但是,我发现如果我想更新文档的"status"字段,那么我还需要指定我不会改变的所有其他字段,否则它们会被删除.也就是说,如果我在更新时没有指定"名称"字段,则文档上将不再有"名称"字段.

function createFriendSchedule(friend){

  pouchDB.put({

    _id : friend['id'],
    name : friend['name'],
    status: "new"

  }, function(err, response){

    createAndDispatchEvent("friend Schedule created");

  });


}
Run Code Online (Sandbox Code Playgroud)

这是更新文档的代码

function changeFriendStatus(friend){

  pouchDB.get(friend['id'], function(err, retrieved){

    pouchDB.put({

      _id : friend['id'],
      _rev : retrieved._rev, //need to specify _rev otherwise conflict will occur
      name : retrieved.name, //if you don't specify name should remain the samme as before, then it will be left off the record!
      status : friend['status']

    }, function(err, response){

      if(err){  

    console.log("COULDN'T CHANGE FRIEND STATUS");

      } else {  createAndDispatchEvent("friend status changed") …
Run Code Online (Sandbox Code Playgroud)

javascript pouchdb

3
推荐指数
1
解决办法
5342
查看次数

标签 统计

ruby ×2

arguments ×1

javascript ×1

parameters ×1

pouchdb ×1

require ×1

rspec ×1

stub ×1