草庐IT

带有 attr_accessor 的类上的 Ruby instance_eval

全部标签

ruby - Shotgun 上的 Sinatra 和 Ruby 1.9.2 问题

我有一个简单的sinatra应用。require'rubygems'require'sinatra'get'/'do"Hello"end当我在Shotgun上运行它时,出现以下错误:BootErrorSomethingwentwrongwhileloadingsimple.rbLoadError:nosuchfiletoload--simple.rb:29:inrequire':29:inrequire'/home/thedinga/.rvm/gems/ruby-1.9.2-p0@global/gems/shotgun-0.8/lib/shotgun/loader.rb:114:ini

ruby - 使用 ruby​​ 识别阵列上的运行

如果我们有一个数组array=[1,1,0,0,2,3,0,0,0,3,3,3]我们如何识别给定数字的运行(具有相同值的连续数字的数量)?例如:run_pattern_for(array,0)->2run_pattern_for(array,3)->1run_pattern_for(array,1)->1run_pattern_for(array,2)->0没有2的运行,因为没有连续出现2。3有一个运行,因为只有一个幻影以树为连续数字。 最佳答案 尝试:classArraydefcount_runs(element)chunk{|n

ruby - HTTP POST 上的 SSL 错误(未知协议(protocol))

尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify

node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试

我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

ruby - 无需 eval 即时创建 Ruby 类

我需要动态创建一个Ruby类,即动态地从ActiveRecord::Base派生。我暂时使用eval:eval%Q{class::#{klass}是否有一种等效的、至少同样简洁的方法可以在不使用eval的情况下执行此操作? 最佳答案 您可以使用Class类,其中的类是实例。困惑了吗?;)cls=Class.new(ActiveRecord::Base)doself.table_name=table_nameendcls.new 关于ruby-无需eval即时创建Ruby类,我们在Stac

ruby-on-rails - 从带有 ruby​​ on rails 的网站获取 html

如何使用ruby​​onrails获取网络上某处其他网站的页面数据? 最佳答案 您可以使用httparty只是获取数据示例代码(来自example):requireFile.join(dir,'httparty')require'pp'classGoogleincludeHTTPartyformat:htmlend#google.comredirectstowww.google.comsothisislivetestforredirectionppGoogle.get('http://google.com')puts'','*'*7

rspec 上的 Ruby 段错误

这真的很奇怪。我在这个Rails3.2.11应用程序中运行良好,今天上午早些时候运行了rspec。我创建了一个新分支,更改了一个文件,提交并运行了rspecspec/当我遇到大量的段错误和大约一样长的堆栈跟踪时正如我所见。我已经更新了rvm并尝试安装早期版本的ruby​​1.9.3。我一直卡在原始gem集上,并通过重新启动来保释。重新启动OSX10.8.3后,我能够干净地安装ruby​​1.9.3-p429。但是rspec仍然保释。完整的堆栈跟踪是https://gist.github.com/sam452/5808849.我已经捆绑安装了这些gem,因为它们被清理干净了。我还尝试再次

ruby-on-rails - rails 上的 ruby 。未初始化常量

这很奇怪,但是:uploader类(应用程序/uploader):classImageUploader图像类(应用程序/模型):classImage应用程序说:未初始化的常量Image::THUMB_WIDTHversion:thumb,from_version::previewdoprocessresize_to_limit:[Image::THUMB_WIDTH]#怎么了?更新:阿吉斯指出了原因。此问题的最佳解决方案将在2天内发放。我不喜欢代码分离,例如创建一个新类,在初始化器等中保存Image类的所有常量。这种解决方案很糟糕,因为它会带来不一致和代码碎片。

ruby-on-rails - 使用模块扩展带有 "has_many"的插件中的模型

我在引擎样式插件中有一些代码,其中包含一些模型。在我的应用程序中,我想扩展其中一个模型。通过在初始值设定项中包含一个模块,我已经设法将实例和类方法添加到相关模型中。但是我似乎无法添加关联、回调等。我收到“找不到方法”错误。/libs/qwerty/core.rbmoduleQwertymoduleCoremoduleExtensionsmoduleUser#InstanceMethodsGoHere#ClassMethodsmoduleClassMethodshas_many:hits,:uniq=>true#nomethodfoundbefore_validation_on_crea

ruby-on-rails - 带有自定义处理器的 CarrierWave 未注册

我正在使用carrierwave上传视频然后有一个名为thumb的版本,带有自定义处理器,可以获取视频并使用streamio-ffmpeg创建屏幕截图。视频和文件都已正确上传,但在调用uploader.url(:thumb)时我得到:ArgumentError:Versionthumbdoesn'texist!VideoUploader.rbrequire'carrierwave/processing/mime_types'require'streamio-ffmpeg'classVideoUploader5)File.renamethumb_path,current_pathendd