草庐IT

编程示例

全部标签

ruby-on-rails - 寻找具有错误检查功能的法拉第中间件示例

我正在寻找FaradayMiddleware的示例,它可以处理请求中的http(状态代码)错误以及网络超时。在阅读了Faraday及其中间件的文档后,我了解到这是中间件的用例之一……我只是不知道实现应该是什么样子。谢谢 最佳答案 Faraday默认有一个错误处理中间件:faraday.useFaraday::Response::RaiseError例如:require'faraday'conn=Faraday.new('https://github.com/')do|c|c.useFaraday::Response::RaiseEr

ruby - 使用 $& 全局变量的编程别名方法

我正在尝试为使用Ruby的特殊$&(returnslastregexmatch)的方法起别名。我可以手动执行此操作并且有效:original=String.instance_method(:sub)String.send(:define_method,:sub)do|*args,&block|puts"called"original.bind(self).call(*args,&block)end"foo".sub(/f/){$&.upcase}called#=>"Foo"但是,如果我尝试编写一个为我执行此操作的方法,它会失败:defprogramatic_alias(klass,me

ruby - 我怎样才能将这段代码转换为元编程,这样我就可以停止复制它了?

我有一个用于building.netsystemswithruby/rake的小但不断增长的框架,我已经研究了一段时间了。在此代码库中,我有以下内容:require'rake/tasklib'defassemblyinfo(name=:assemblyinfo,*args,&block)Albacore::AssemblyInfoTask.new(name,*args,&block)endmoduleAlbacoreclassAssemblyInfoTask此代码遵循的模式在框架中重复了大约20次。每个版本的区别在于正在创建/调用的类的名称(而不是AssemblyInfoTask,它可

ruby-on-rails - 在 Rails 应用程序中使用 Active Directory/LDAP 组获取权限\角色的示例

我想知道其他人是如何实现这个场景的。我有一个内部Rails应用程序(库存管理、标签打印、运输等)。我正在重写系统的安全性,导致旧方法变得难以维护(用户表、密码、角色)——我使用了restful_authentication和角色。它是大约3年前实现的。我已经使用ruby​​-ldap-net实现了AuthLogic来对用户进行身份验证(与我之前与其他框架/语言的挣扎相比,实际上这非常容易)。下一步是角色。我已经在ActiveDirectory中定义了组——所以我不想在我的Rails应用程序中运行一个单独的角色系统,我只想重用ActiveDirectory组——因为系统的那一部分已经被维

ruby-on-rails - 元编程 String#scan 和全局变量?

我的目标是将String类中的方法替换为其他可以完成额外工作的方法(这是一个研究项目)。通过在类似于的String类中编写代码,这适用于许多方法alias_method:center_OLD,:centerdefcenter(args*)r=self.send(*([:center_OLD]+args))#dosomeworkhere#returnsomethingend对于某些方法,我还需要处理一个Proc,这没问题。但是,对于scan方法,调用它会产生设置specialglobalvariables的副作用。来自正则表达式匹配。如文档所述,这些变量是线程和方法的本地变量。不幸的是,

ruby - 我如何获得 RSpec 的共享示例,例如 Ruby Test::Unit 中的行为?

在RSpecforTest::Unittests中是否有类似于shared_examples的插件/扩展? 最佳答案 如果您正在使用rails(或只是active_support),请使用Concern.require'active_support/concern'moduleSharedTestsextendActiveSupport::Concernincludeddo#Thisway,testnamecanbeastring:)test'bananabananabanana'doasserttrueendendend如果您不使

MySQL的JDBC 编程

目录1.数据库编程:JDBC2.JDBC工作原理3.JDBC使用3.1驱动包的下载与导入3.2JDBC使用步骤(插入)4.JDBC修改删除查询1.将数据库驱动包,添加到项目依赖中创建目录,拷贝jar包,然后addaslibrary2.创建数据源DataSourse:数据源,描述了数据库服务器在哪里3.和数据库建立连接使用JDBC里的Connection将代码和数据库服务器进行连接一个程序中,通常有一个数据源对象,可以有多个Connection对象4.构造sql语句PreparedStatement:表示一个预处理过的SQL语句对象5.执行sql语句(1)executeUpdate对应插入到删除

ruby - 以元编程方式定义采用关键字参数的 Ruby 方法?

Struct让我创建一个新类,它接受参数并具有一些很好的语义。但是,参数不是必需的,它们的顺序需要引用定义:Point=Struct.new(:x,:y)Point.new(111,222)#=>Point.new(111)#=>我想要类似于Struct的东西,但它使用关键字参数代替:Point=StricterStruct.new(:x,:y)Point.new(x:111,y:222)#=>Point.new(x:111)#=>ArgumentError这可能看起来像这样:moduleStricterStructdefself.new(*attributes)klass=Class

ruby - 使用元编程使 FalseClass 表现得像 TrueClass

这是一个理论问题:是否可以将FalseClass的行为更改为像TrueClass一样?可以覆盖to_s、xor、&、|行为,但这还不够。如果你喜欢测试驱动开发,请听从我同事的建议:puts"falseisnewtrue!"iffalseputs"neverhappens"iftrueassertfalse断言行不通,对吗?有没有可能顺利通过考试? 最佳答案 这是不可能的。一种思考方式是没有可以重新定义的方法Object#truthiness?。在RubyMRI中,真实性测试是RTEST宏是硬连接的,除了Qfalse和Qnil外,这两

ruby - 使用 Ruby 进行科学编程

我使用python或octave进行数学计算,因为手头有非常好的函数和库。但最近我对ruby​​产生了兴趣,我想知道Ruby中是否有与Python中的numpy、scipy等价的用于科学编程的东西。具体来说,我正在寻找可以像在matplotlib中那样绘制绘图并像在numpy和scipy中那样快速进行数学代数计算的东西。 最佳答案 SciRuby正在研究这个。NMatrix和Statsample分别是线性代数和统计最有用的SciRubygem,尽管您可能还会发现这些有用:distribution,minimization,和inte