草庐IT

public_private

全部标签

ruby - 在没有 ssh-keygen 的情况下生成 SSH key 对(私有(private)/公共(public))

我正在开发需要生成SSHkey对的Ruby/Rack应用程序。尽管我很想从应用程序中调用ssh-keygen,但我不能,因为它是为在Heroku上运行而设计的,它们不支持调用该命令。我已经能够使用Ruby标准库中的OpenSSL获取私有(private)/公共(public)RSAkey,执行以下操作:key=OpenSSL::PKey::RSA.generate(2048)#=>-----BEGINRSAPRIVATEKEY-----....key.public_key#=>-----BEGINRSAPUBLICKEY-----....不幸的是,RSA公钥和SSH公钥不是一回事,即使

ruby-on-rails - rails ActiveSupport :Concern and Private Methods

这是关于rails中关注的好主意:http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns制作不属于公共(public)API的非常小的方法也是一个好主意。如果不使用关注点,这些将成为ruby​​类中的私有(private)方法。在RailsActiveSupport::Concern模块中创建私有(private)方法是否有意义?如果是这样,private是否对关注点定义中的常规实例方法和类方法都有效? 最佳答案 Doesitmake

ruby-on-rails - 什么应该从 Ruby on Rails 的公共(public)源代码控制中删除?

我一直在网上搜索,但找不到关于从新的公共(public)Rails应用程序中排除什么的任何好的/最近的例子。我希望在GitHub上开源我的应用程序,并且想知道应从源代码管理中删除哪些类型的数据。据我所知,应该有一个包含私有(private)信息的config/config.yml文件。我一直在查看其他文件,它看起来像config/database.yml、config/intializers/secret_token.rb和config/initializers/session_store.rb也应该被排除在外?最好的做法是分别排除所有这些文件吗?或者有没有办法在config/conf

ruby-on-rails - 错误 : Attempt to call private method

来自C风格语法的悠久历史,现在正在尝试学习Ruby(onRails),我一直在分享它的习语等问题,但今天我遇到了一个我没想到的问题有问题,但我看不到必须就在我面前的是什么。我有一个Binary类,它包含一个私有(private)方法,用于从路径值派生URI值(uri和路径是该类的属性)。我从Binary.upload()中调用self.get_uri_from_path(),但我得到:Attempttocallprivatemethod模型的片段如下所示:classBinary我是不是打错电话了?我是否遗漏了其他更基本的东西?目前,唯一调用Binary.get_uri_from_pat

ruby-on-rails - 使用 AWS Elastic Beanstalk 和 Ruby 容器设置私有(private) Github 访问

经过recenttutorial关于使用Git为Ruby部署设置AWSElasticBeanstalk,我只是从我的CI服务器设置了一个ElasticBeanstalk环境。但是,应用程序无法启动。我查看日志发现bundleinstall失败并显示一条错误消息。Fetchinggit@github.com:example/private-repository.gitHostkeyverificationfailed.fatal:Theremoteendhungupunexpectedly[31mGiterror:commandgitclone'git@github.com:exampl

ruby - 'private' 以它在 Ruby 中的方式工作是否有充分的理由?

我花了一段时间才理解private方法在Ruby中是如何工作的,这让我觉得很尴尬。有谁知道是否有充分的理由按原样处理私有(private)方法?仅仅是历史原因吗?还是实现原因?还是有充分的逻辑理由(即语义)?例如:classPersonprivateattr_reader:weightendclassSpyRuby在第(1)、(2)和(5)行的行为似乎是合理的。(6)可以的事实有点奇怪,尤其是来自Java和C++。这有什么好的理由吗?我真的不明白为什么(3)失败了!一个解释,有人吗?第(4)行的问题看起来像是语法上的歧义,与'private'无关。有什么想法吗?

ruby - 我应该使用 RSpec 测试私有(private)方法吗?

为私有(private)方法编写测试是好的做法吗?考虑以下简单示例:classGrouphas_many:membersprivatedefrelease_membersmembers.each{|member|member.update_attributesgroup_id:nil}endend在RSpec中为release_members方法编写测试是否是一个好习惯?我相信您必须编写测试,即使用send调用该方法。group.send(:release_members)有时不受欢迎。 最佳答案 您不应该测试私有(private)

具有调用私有(private)方法的静态方法的 Ruby 类?

我有一个包含许多静态方法的类。每个人都必须调用一个通用方法,但我尽量不公开后一种方法。将其设为私有(private)只允许从该类的自己的实例进行访问?Protected似乎也不能解决这里的问题。如何在静态上下文中隐藏do_calc不被外部调用?(让它可以从前两个静态方法调用。)classFoodefself.bardo_calc()enddefself.bazdo_calc()enddefself.do_calcendend 最佳答案 首先,static并不是Ruby行话的真正组成部分。举个简单的例子:classBardefself

ruby - 如何在没有继承方法的情况下获取类的公共(public)方法?

给定任何对象,我可以调用#public_methods并查看它将响应的所有方法。但是,我发现有时获取所有未继承的公共(public)方法的快速列表会很方便,即真正属于此类的内容。我在“EasywaytolistpublicmethodsforaRubyobject”中发现如果我使用:(Foo.public_methods-Object.public_methods).sort我可以过滤掉很多基本的Ruby内容。我希望能够过滤沿链向上一直继承的所有内容。如果我知道父类,我可以使用它进行过滤,但我想提出一个通用命令,该命令可以为任何对象返回一组未继承的公共(public)方法。

ruby - 如何在 Ruby 中使实例变量私有(private)化?

有什么方法可以在ruby​​中使实例变量“私有(private)”(C++或Java定义)?换句话说,我希望以下代码导致错误。classBasedefinitialize()@x=10endendclassDerived 最佳答案 像Ruby中的大多数东西一样,实例变量并不是真正的“私有(private)”,任何人都可以通过d.instance_variable_get:@x访问。不过,与Java/C++不同,Ruby中的实例变量始终是私有(private)的。它们从来都不像方法那样是公共(public)API的一部分,因为它们只能