草庐IT

lets-encrypt

全部标签

ruby - Rspec - 在另一个 let 语句中使用 let 语句中定义的变量

在我的RSpec测试中,我使用let()语法定义了多个方法。我遇到过这样一种情况,我需要将let语句中定义的变量用于同一个describeblock中的另一个let语句。context'Reusethenameoffirstcarinthesecondcar'doit_behaves_like'somecartest'dolet(:car1)do{name1:"#{testcase['Car']}_#{Time.now.round}",car_model:testcase['Toyota']}endlet(:car2)do{name2:name1}endendend如您所见,我想使用我

ruby-on-rails - 设计 :password and :encrypted_password

在设计railsgem中,这两者有什么区别?我在生成的模式中看到了:encrypted_pa​​ssword字段,但没有看到:password字段。如果这两者相互关联,有什么解释吗? 最佳答案 Devise::Models::DatabaseAuthenticatable有一个setter:defpassword=(new_password)@password=new_passwordself.encrypted_password=password_digest(@password)if@password.present?end所以

ruby - 如何用另一种语言解密由 Ruby 的 `symmetric-encryption` gem 加密的数据?

我想访问由Rails创建的供非Ruby代码使用的数据库中的数据。一些字段使用attr_encrypted访问器,使用的库是symmetric-encryptiongem。如果我尝试使用例如NodeJScrypto库解密数据,我总是会收到“错误的最终block长度”错误。我怀疑这与字符编码或填充有关,但我无法根据文档弄明白。作为实验,我尝试从Ruby自己的OpenSSL库中的symmetric-encryption解密数据,但我得到了“解密错误”错误或相同的问题:SymmetricEncryption.cipher=SymmetricEncryption::Cipher.new(key:

ruby - let 和 def 的区别

我想知道rspecdescribeblock中的方法和let定义之间的关系?为什么我应该使用let而不是def?let(:create_user){post:create}对比defcreate_userpost:createend这两种方式在测试中似乎都一样:expect{create_user}.tochange{User.count}.by(1) 最佳答案 不确定这是否是唯一的区别,但let记住了它的值(value)。所以它会更接近于:defcreate_user@_create_user||=post:createend

ruby-on-rails - 无法在 Rails 中创建具有带前导点的段的路由(以验证 Let's Encrypt)

在我的Heroku上的Rails5应用程序中,我正在尝试为此URL创建一个路由:http://beta.example.com/.well-known/acme-challenge/some-key,因此我可以使用Let'sEncrypt验证我的服务器以获得SSL证书。但是我无法让路线在路线的任何段中使用前导点或句点,它只会返回404NotFound。换句话说,.well-known开头的点把事情搞砸了。我可以获得一条没有点的工作路线,或者如果点在其他地方(例如well.known),但如果点是段中的第一个字符,它就不起作用。我从这个开始:get"/.well-known/acme-c

ruby - 启用 `let` 以在 block 传递给 RSpec 共享示例的情况下分配形式参数

在RSpec中,为共享示例提供值的技术之一是使用let定义该示例使用的变量,如thisdocumentation中所述。.目前,传递给形式参数的值优先于let建立的任何值,如下例所示:shared_examples_for"foo"do|x1|specify{puts[x1,x2,x3].inspect}enddescribe""dolet(:x1){3}let(:x2){3}let(:x3){3}it_behaves_like"foo",1dolet(:x1){2}let(:x2){2}endend#=>[1,2,3]我的问题是,是否可能/合理/可取地改变RSpec语义,使得传递的b

ruby - RSpec - 如果我避免使用 let、let 和 before,如何实现相同的功能?

我听说最好避免在RSpec中使用its,let,let!,specify,before,和subject。关于let,let!和before,如果不使用它们,我该如何执行设置任务? 最佳答案 编写这些最佳实践的人实际上只想说“不要使用RSpec”。避免使用核心功能并仍然认为你可以把事情做好是很疯狂的。你能链接到这些最佳实践吗?我很想阅读它们,看看它们是否合理,或者只是一些j-random-guy的意见。避免before和let?什么?真的吗?避免specify,我想,这只是it的旧语法。避免特定的subject电话?我想,如果您的代

ruby-on-rails - 懒注册 : How to let a guest user start their workflow and prompt registration when they try to save their work?

我想知道如何让guest在不注册的情况下使用我的Web应用程序,然后如果他们试图保存他们的工作,他们会收到注册提示。顺便说一句,这将在Rails应用程序中。我可以只允许公众访问部分工作流程,然后在他们保存时检查他们是否是注册用户(通过session值或cookie?)。如果他们不是注册用户,请将他们的所有工作保存到session中并让他们填写注销表单。成功注册后自动登录并在数据库上启动创建? 最佳答案 您需要跟踪session中的数据。有些人建议制作一个模块或库来处理session内的数据。例如,您可能有一个SessionCart类

sql - 在 attr_encrypted 列上的 rails 中查询

我有一个ruby​​onrails应用程序,我正在使用attr_encryptedgem来加密一些用户信息。它有盐和IV,所以它是双向加密的。gem拦截动态find_by以协助查询,但对于我的情况来说这不是一个足够的查询,因为我关心结果的数量。有没有办法查询表以返回与给定secret匹配的所有结果?这是例子。我有一个users表,它有一个加密的secret属性。因此,该表具有encrypted_secret、encrypted_secret_iv和encrypted_secret_salt。如果一个用户给出了“abd123”的secret,我如何查询表以查看有多少其他人也使用“abc1

ruby - let() 值在 before( :all) is used?

我有一个spec文件,如下所示:#foo_spec.rbclassFooenddescribeFoodolet(:foo){'foo'}subject{bar}#before(:all){foo}#Theseondexamplefailsifuncommentthisline.describe'testone'dolet(:bar){'one'}it{should=='one'}enddescribe'testtwo'dolet(:bar){'two'}it{should=='two'}endend两个示例都按预期通过。但是,如果我取消对before(:all)的注释,第二个示例将失败