小编Sha*_*tel的帖子

将Ruby Hash转换为YAML

我需要将下面提供的哈希转换为可读的YAML.看起来我可以提供YAML::load一个字符串,但我想我需要先将它转换成这样的东西:

hostname1.test.com:
  public: 51
  private: 10

{"hostname1.test.com"=>
   {"public"=>"51", "private"=>"10"},
 "hostname2.test.com"=>
   {"public"=>"192", "private"=>"12"}
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何有效地转换成该字符串.

我查看了HASH文档,找不到任何内容to_yaml.我找到了它,通过搜索to_yaml哪个可用require yaml.我也尝试使用Enumerable方法,collect但在需要迭代值(另一个哈希)时感到困惑.

我正在尝试使用" 将Ruby转换为Ruby中的字符串 "作为参考.我的想法是把它喂入,YAML::load这会产生我想要的YAML.

ruby hash yaml

37
推荐指数
2
解决办法
4万
查看次数

Rspec - 需要存根在另一个文件中调用的File.open

在我的测试中,我正在初始化一个Package带有一些参数的新类.

在这个类的初始化中,我打开了一个在我的远程盒子上可用的文件,但不是本地常见的文件.我想知道如何在测试中使用该方法.

我正在使用rspec和mocha.我尝试过类似的东西:

File.stubs(:open).with(:file).returns(File.open("#{package_root}/test_files/test.yml"))
Run Code Online (Sandbox Code Playgroud)

Package在我的测试中初始化之前,我有这条线.

我收到了这个错误:

unexpected invocation: File.open('package/test_files/test.yml')
   satisfied expectations:
   - allowed any number of times, not yet invoked: File.open(:file)
Run Code Online (Sandbox Code Playgroud)

我不熟悉rspec或mocha,所以请帮助.谢谢!

ruby testing rspec mocking stubbing

12
推荐指数
2
解决办法
1万
查看次数

Haproxy没有使用rsyslog进行日志记录

我想在HAProxy中设置HTTP日志记录,并且在使其正确输出请求时遇到一些麻烦.

这是HAProxy相关配置:

global
    log /dev/log    local0
    log /dev/log    local1 notice
    maxconn 200000
    tune.ssl.default-dh-param 2048
    user haproxy
    group haproxy
    daemon
    stats socket /tmp/sock1 user root group root mode 777 level admin

defaults
    log    global
    mode    http
    option    httplog
    option    dontlognull
        option httpclose
    retries    3
    option redispatch
    maxconn    200000
    backlog 20000
    timeout connect    5s
    timeout client    50s
    timeout server    180000
    balance    roundrobin
    cookie    SERVERID rewrite 
Run Code Online (Sandbox Code Playgroud)

这是/etc/rsyslog.d/haproxy.conf文件:

# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log …
Run Code Online (Sandbox Code Playgroud)

unix sockets linux haproxy rsyslog

7
推荐指数
1
解决办法
8178
查看次数

什么都不知道......使用ri数组时 - Ruby

我有Ubuntu 11.10并使用rvm和ruby 1.9.2.我完全按照这个安装Ruby:http://blog.sudobits.com/2011/10/27/how-to-install-ruby-on-rails-in-ubuntu-11-10/

我用它生成文档

rvm docs generate
Run Code Online (Sandbox Code Playgroud)

这似乎适用于一次终端会话,但是一旦我退出并重新开始,我必须再次生成文档,否则我得到Nothing is Known错误这需要很长时间,所以我宁愿不必每次我开始终端会话时都会生成文档.

有什么办法可以永久保存文档吗?

对此有一些类似的问题 - 但我没有生成文档或使用它们的问题,只是保持它们的安装.

ruby rdoc ri rvm

6
推荐指数
1
解决办法
3043
查看次数

如何在c3js中设置样式线图表点的样式

我有一个一般的c3js问题.我试图让C3JS折线图中的点"空心"(白色填充,带有彩色笔划),但我很难搞清楚如何做到这一点.我试图添加自己的CSS,但它被stylehtml中的直接标记覆盖.

有没有人有什么建议?

谢谢!

javascript charts linechart d3.js c3

6
推荐指数
2
解决办法
4763
查看次数

查询 Mongo 以获取 NumberLong

我正在使用 mongo 2.4。

我有一个包含以下两个条目的集合:

> db.collection.find({domain: "pow.com"})
{ "_id" : ObjectId("577ee9ec6f66304109769855"), "domain" : "pow.com", "mImp" : NumberLong(38), "oImp" : NumberLong(38), "vImp" : NumberLong(120), "date" : "Thu Jul 07 2016 16:46:52 GMT-0700 (PDT)", "id" : NumberLong(3847146) }
{ "_id" : ObjectId("577ef4c44df54be7247eb497"), "domain" : "pow.com", "mImp" : NumberLong(38), "oImp" : NumberLong(38), "vImp" : NumberLong(120), "date" : ISODate("2016-10-01T00:00:00Z"), "id" : NumberLong(3847146) }
Run Code Online (Sandbox Code Playgroud)

我尝试运行这些查询,但每次都没有返回数据:

> db.collection.find({"vImp": NumberLong(38)});
> db.collection.find({vImp: NumberLong(38)});
> db.collection.find({vImp: 38});
> db.collection.find(vImp: 38)
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索,但似乎这应该有效....

mongodb

6
推荐指数
1
解决办法
6152
查看次数

在ssh上的通配符不起作用

我通过ssh使用通配符时遇到问题.我正在尝试运行的命令是ssh -t host "sudo ls -l /root/.ssh/id_rsa*.

我试过使用单引号,也使用sudo -s.我也试过引用通配符本身,但似乎没什么用.其他人似乎使用了这些解决方案的某些组合,但它对我没有用.有任何想法吗?

linux ssh wildcard

5
推荐指数
1
解决办法
4027
查看次数

aws s3 java sdk 列表对象

我有这样的结构:

common/test/v20170522/part-0001.snappy
common/test/v20170522/part-0002.snappy
common/test/v20170522/part-0003.snappy
common/test/v20170522/part-0004.snappy
common/test/v20170622/part-0001.snappy
common/test/v20170622/part-0002.snappy
common/test/v20170622/part-0003.snappy
common/test/v20170622/part-0004.snappy
Run Code Online (Sandbox Code Playgroud)

还有更多版本文件夹,其中有更多文件。我基本上想要文件夹中所有文件夹的列表test/common: so v20170522, v20170622, etc

这是我到目前为止所拥有的:

ListObjectsRequest listObjectsRequest = new ListObjectsRequest();
listObjectsRequest.setBucketName("common");
listObjectsRequest.setPrefix("test/");
listObjectsRequest.setDelimiter("/");
Run Code Online (Sandbox Code Playgroud)

这只会返回common/test文件夹中的文件,而不是文件夹。当我删除分隔符时,我得到所有文件夹的所有子文件。有办法做到这一点吗?

amazon-web-services aws-java-sdk

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

Rspec - 在另一个类中模拟一个方法

我是RSpec的新手,所以请耐心等待!

这是我的代码.

TESTFILE:

before(:all) do
  @package = Package.new("testing")
  @param_source = "cat #{root}/file/test.json"
end

"it should update the version params appropriately" do
  group_params = mock("params")
  group_params.expects(:each).multiple_yields([["staging", @param_source]])
  @package.update_version(group_params)
  # Some assertions here
end
Run Code Online (Sandbox Code Playgroud)

班级档案:

class Package
  def initialize(db_file)
     # Some http options set for httparty
  end

  def update_version(group_params)
    group_params.each do |environment, param_source|
      group_json = JSON.parse(HTTParty.get(param_source, @http_cred))
      # Bunch more stuff done here
  end
Run Code Online (Sandbox Code Playgroud)

基本上,我有这个test.json,我想用来验证事情是否正确解析.这个HTTParty.get调用期望进行GET调用.有没有办法可以用param_source变量来模拟它.如果我需要在这里提供更多信息,请告诉我.谢谢您的帮助!

ruby testing rspec mocking stubbing

2
推荐指数
1
解决办法
2426
查看次数

指针和数组 - 以艰难的方式学习C语言

这个问题来自Zed Shaw的Learn C the Hard Way.它是关于指针和数组的.我们在这里给出了一些代码:

#include <stdio.h>

int main(int argc, char *argv[])
{
  // create two arrays we care about
  int ages[] = {23, 43, 12, 89, 2};
  char *names[] = {
      "Alan", "Frank",
      "Mary", "John", "Lisa"
  };

  // safely get the size of ages
  int count = sizeof(ages) / sizeof(int);
  int i = 0;

  // first way using indexing
  for(i = 0; i < count; i++) {
      printf("%s has %d years alive.\n",
              names[i], ages[i]);
  }

  printf("---\n");

  // setup …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

2
推荐指数
1
解决办法
1937
查看次数