使用ruby Net :: SSH通过sudo读取远程文件

我必须读取一个远程文件的内容,我有权使用cat,less或tail读取(sudo)。 我将在Ruby中执行此操作,因此我假设我应该使用Net :: SSH来执行此操作。 该文件是一个日志文件,因此它可能非常大。 这是我现在正在尝试的代码: require ‘rubygems’ require ‘net/ssh’ cmd = “sudo cat /var/logs/httpd/ACCESS_log.2012.03.23” Net::SSH.start( “SERVER” , “USER”, :password => “PASSWORD”) do |ssh| ssh.open_channel do |channel| channel.request_pty channel.exec(cmd); channel.on_close do puts “shell terminated” end channel.on_eof do |ch| puts “remote end is done sending data” end channel.on_extended_data do |ch, type, data| puts “got stderr: #{data.inspect}” […]

ruby色发生器

我需要为待办事项列表中的多个项目随机生成颜色。 (比如从学校接孩子,拿干洗等等) 在ruby中做到这一点的最佳方法是什么,还要避免难以看到的颜色(如灰色,白色等)?

ruby splat运算符在多次赋值期间如何获取数组的第一个和其余部分?

在ruby中,可以将多个赋值与splat运算符组合,以便模拟函数语言中的第一个和rest(或头部和尾部)。 first, *rest = [1,2,3,4] first # output: 1 rest # output: [2,3,4] splat运营商如何实现这一目标?

如何让nanoc SASSfilter使用SCSS语法?

在我的nanoc网站中,我想使用SCSS指定我的样式: p { em { color: red; } } ……不是SASS: p em color: red 但是如果我尝试使用SCSS,我会从SASSfilter中收到编译错误。 如何使用SCSS?

如何在Postgres-compat模式下使用H2作为嵌入式数据库,来自jruby / rails

我想推出一个jruby / rails应用程序来使用Postgres。 但是我想在开发和测试中运行时在Postgres兼容模式下使用H2。 在H2或postgresql中启动应用程序没问题,但如何使用嵌入式H2数据库配置运行postgresql适配器? 例如:这样的事情: database.yml的 development: # adapter: jdbch2 # database: db/development/database adapter: postgresql encoding: unicode database: database # driver: org.h2.Driver url: jdbc:h2:~/db/development;MODE=PostgreSQL test: … 的Gemfile: … gem ‘activerecord-jdbch2-adapter’ #gem ‘jdbc-h2’ gem ‘activerecord-jdbcpostgresql-adapter’ …

Rails时区问题

这是我的控制台: irb(main):048:0> Time.now => 2011-04-13 00:51:50 +0200 (@stats[5] == ‘-‘ ? 0 : @stats[3]), :earn => @stats[6]) => # irb(main):050:0> 正如你所知,当我创建一个新项目updated_at和created_at是“2011-04-12 22:52:13”而不是正确的时间:2011-04-13 00:51:50

Rails 3.2 + MySQL:错误:字段’created_at’没有默认值:INSERT INTO

我创建了一个新的迁移,其中提到了 … t.timestamps 在创建的表中添加了这两列 … | created_at | datetime | NO (Null) | | NULL (Default) | | updated_at | datetime | NO (Null) | | NULL (Default) | … 当我想创建一个新项目时,我总是收到错误消息 Mysql2::Error: Field ‘created_at’ doesn’t have a default value: INSERT INTO `table_name` (`first_col`, `second_col`) VALUES (‘a’, ‘b’) 我错过了什么吗? 我把这个miniapp发送给我的一个朋友,他能够成功运行它 – >记录是在数据库中创建的。 我错过了什么?

未定义方法’访问’#(NoMethodError)

当我尝试运行rspec测试时,我收到以下错误: /srv/offerme/spec/requests/static_pages_spec.rb:13: undefined method `visit’ for # (NoMethodError) from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe’ from /srv/offerme/spec/requests/static_pages_spec.rb:12 from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb:18:in `describe’ from /srv/offerme/spec/requests/static_pages_spec.rb:3 from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run’ from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `autorun’ from […]

如何在1.9.2上安装SystemTimer?

我刚刚使用RVM将我的应用程序从1.8.7升级到1.9.2,并且不得不添加RubyGems和Bundler,运行bundle install并使一切工作除了SystemTimer。 Google-fu没有任何回报,我看到其他人在1.9中遇到了问题,但有些人已经开始工作了。 有任何想法吗? pawel:bodb pawel$ sudo gem install SystemTimer Building native extensions. This could take a while… /Users/pawel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb:48: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777 ERROR: Error installing SystemTimer: ERROR: Failed to build gem native extension. /Users/pawel/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb creating Makefile make /usr/bin/gcc-4.2 -I. -I/Users/pawel/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.3.0 -I/Users/pawel/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/pawel/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 […]

I18n :: InvalidLocale :: en不是有效的语言环境

我正在尝试使用I18n.transliterate来“标准化”一些带有重音字符的文本,这样我就可以用不同的语言进行分析和比较。 但是,使用此方法时会弹出以下错误 I18n::InvalidLocale: :en is not a valid locale from /home/xxx/.rvm/gems/ruby-2.1.5/gems/i18n-0.7.0/lib/i18n.rb:284:in `enforce_available_locales!’ from /home/xxx/.rvm/gems/ruby-2.1.5/gems/i18n-0.7.0/lib/i18n.rb:235:in `transliterate’ from (irb):2 from /home/xxx/.rvm/rubies/ruby-2.1.5/bin/irb:11:in `’ 我已经对这个问题进行了一些搜索,我只找到了与Rails配置相关的解决方案。 我只是在Ruby文件中使用它,没有任何与Rails相关的内容,所以…我该怎么办?