标签: rake-task

从rake任务访问rails模型

如何从rails rake任务访问模型对象?

如果我$scheduler = Rufus::Scheduler.start_new在我的rake中初始化我的rufus调度程序,那么调度程序会保持活动状态,因为它来自rake任务吗?

rake rake-task ruby-on-rails-3

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

你如何避免依赖的Rake任务名称冲突?

namespace :jobs do
  task :environment => [:environment] do
    #Something cool
  end
end
Run Code Online (Sandbox Code Playgroud)

这将导致循环依赖:environment,这我只是想依靠Rails的任务environment.

如何才能正确设置?

ruby-on-rails rake-task

3
推荐指数
2
解决办法
684
查看次数

没有这样的文件或目录 - /dev/null(Errno :: ENOENT)

我在这里对这位先生有类似的问题.

我一直试图通过rake任务运行黄瓜功能.我一直在标题中找到指定的错误.

这是一个完整的回溯.而我的红宝石版本.(当我尝试运行rails版本命令时,我收到"未找到命令".

$ rake features:all --trace
** Invoke features:all (first_time)
** Invoke features:watir_webdriver (first_time)
** Execute features:watir_webdriver
c:/Ruby193/bin/ruby -S bundle exec cucumber  --profile watir
Using the watir profile...
No such file or directory - /dev/null (Errno::ENOENT)
c:/Ruby193/lib/ruby/1.9.1/webrick/log.rb:34:in `initialize'
c:/Ruby193/lib/ruby/1.9.1/webrick/log.rb:34:in `open'
c:/Ruby193/lib/ruby/1.9.1/webrick/log.rb:34:in `initialize'
c:/Ruby193/lib/ruby/1.9.1/webrick/log.rb:124:in `initialize'
c:/code/page-object/features/sample-app/sample_app.rb:12:in `new'
c:/code/page-object/features/sample-app/sample_app.rb:12:in `start'
c:/code/page-object/features/support/ajax_text_environment.rb:6:in `block in run'
rake aborted!
Command failed with status (1): [c:/Ruby193/bin/ruby -S bundle exec cucumbe...]
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/rake/task.rb:104:in `run'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/rake/task.rb:193:in …
Run Code Online (Sandbox Code Playgroud)

ruby rake ruby-on-rails rake-task

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

在rake任务中包含Rails类?

我是Rails的新手,所以如果我的问题没有最有意义,我会道歉.

我有一个名为的类PaymentGatewayCipher看起来像:

require 'openssl'

# Encapsulates payment gateway encryption / decryption utility functions
class PaymentGatewayCipher
  class << self
    def encrypt(file, options = {})
      cipher = create_cipher
      cipher.encrypt(cipher_key)
      data = cipher.update(File.read(file))
      data << cipher.final

      if to_file = options[:to]
        # Write it out to a different file
        File.open(to_file, 'wb') do |f|
          f << data
        end
      end

      data
    end

    # Decrypts the given file
    def decrypt(file)
      cipher = create_cipher
      cipher.decrypt(cipher_key)
      encrypted_data = File.open(file, 'rb') {|io| io.read}
      data = cipher.update(encrypted_data)
      data << …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rake-task

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

在 Rails 上运行自定义 Rake 任务

我正在尝试创建自定义rake任务,但似乎无法使其正常工作。我的代码如下所示:

namespace :demotask do

  desc "display the current environment of rake"
  task :current_environment => :environment do
    puts "You are running rake task in #{Rails.env} environment"
  end

end
Run Code Online (Sandbox Code Playgroud)

并放置在test.rake名为lib/tasks. 就Rakefile在那里,但在控制台中运行任务时我确实收到此错误:

NameError: undefined local variable or method 'current_environment' for main:Object

我也尝试重新启动服务器。

ruby rake ruby-on-rails rake-task

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

什么是使用CLEAN rake任务的正确方法?

这就是我在Rakefile中尝试做的事情:

require 'rake/clean'
CLEAN = ['coverage']
Run Code Online (Sandbox Code Playgroud)

这是我在日志中看到的:

$ rake
/code/foo/Rakefile:29: warning: already initialized constant CLEAN
/Users/foo/.rvm/gems/ruby-2.1.3/gems/rake-10.3.2/lib/rake/clean.rb:61: warning: previous definition of CLEAN was here
Run Code Online (Sandbox Code Playgroud)

我不喜欢这些警告..什么是正确的方法?

ruby rake rake-task

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

How to catch rake task exit status in another rake task

Problem

I have something like this:

task :fail do
  exit 111
end

task :run_fail_and_succeed do
  begin
    Rake::Task['knapsack:fail'].invoke
  rescue
    exit 0
  end
end
Run Code Online (Sandbox Code Playgroud)

我想运行任务:fail并处理它的退出状态。比退出0。我怎样才能做到这一点?

笔记:

  1. 它不能异步/并行/在后台运行。:fail必须在之前完成:run_fail_and_succeed
  2. 不仅以 0 退出会很好,而且可以真正处理这个状态代码,所以我可以根据它的值做不同的事情

ruby rake exit-code exitstatus rake-task

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

RAILS - 将参数传递给Rake任务

我需要一些帮助:(嗯,我需要1个参数传递给耙任务.而且我不是100%确定如何做到这一点,我已经尝试了很多东西,但没有任何实际工作.它是这个样子:

 {  task :export, [:arg1]  => :environment do
      puts "Exporting..."
      Importer.export_to_csv([:arg1]).to_i
      puts "done."
    end }
Run Code Online (Sandbox Code Playgroud)

然后当我在终端中运行时,'export_to_csv'方法用来获取arg:'rake export 1'或'rake export [1]'我一直得到同样的错误答案:'rake aborted!NoMethodError:nil的未定义方法`id':NilClass'

这意味着 - 他不认识这个输入.谢谢你们,

ruby csv export ruby-on-rails rake-task

3
推荐指数
2
解决办法
4434
查看次数

是否可以在rake任务中包含一个模块而不会污染全局范围?

我想知道 - 是否有可能为rake任务创建私有帮助器,无论我如何尝试它们,它们最终都可以在全局范围内使用,并且可以作为任何对象的方法使用.例如:

## this is what I need

module MyRakeHelpers
  def helper_1
  end

  def helper_2
  end
end

include RakeHelpers

task :sometask do
  helper_1
  helper_2
end

## And this should not work:

# global scope
helper_1

"a random object".helper_1

class RandomClass
  def foo
    helper_1
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby rake rake-task

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

耙子流产!不知道如何建立任务

我在semester.rake文件中有一个rake任务.看起来像这样

namespace :db do
  desc "generate semester data"
  task semester: :environment do
    semester = Semester.create!(name: "SummerSemseter")
    semester = Semester.create!(name: "WinterSemester")
    semester = Semester.create!(name: "Spring Semester")        
  end
end
Run Code Online (Sandbox Code Playgroud)

我将任务作为rake semester.这给了我错误

rake aborted!
Don't know how to build task 'semester' (see --tasks)
/home/john/.rvm/gems/ruby-2.2.4/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `eval'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误以及解决方案是什么?

rake ruby-on-rails rake-task

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