ruby-on-rails – 在rake任务中包含Rails类?
发布时间:2020-12-17 01:26:32 所属栏目:百科 来源:网络整理
导读:我对Rails很新,所以如果我的问题没有最有意义,我会道歉. 我有一个名为PaymentGatewayCipher的类看起来像: require 'openssl'# Encapsulates payment gateway encryption / decryption utility functionsclass PaymentGatewayCipher class self def encrypt(
我对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 << cipher.final end # Generates the cipher to be used for encryption/decryption def create_cipher OpenSSL::Cipher::Cipher.new('aes-256-cbc') end # Loads the cipher key used for the symmetric algorithm def cipher_key File.open(File.join(Rails.root,'config/mystuff/live/cipher.key'),'rb') {|io| io.read} end end end 我想写一个rake任务来运行它来解密文件.我试过把一个文件放在tasks / Rakefile中,看起来像: directory "tasks" task :decrypt_test do puts "Decypting" pay_pal_config = PaymentGatewayCipher.decrypt('hpa1') end 然而,当我运行它时,它说无法找到Class :: Rails 救命? 解决方法
使用lib / tasks文件夹,不要忘记在任务中包含rails环境:
directory "tasks" task :decrypt_test => :environment do puts "Decypting" pay_pal_config = PaymentGatewayCipher.decrypt('hpa1') end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |