草庐IT

高可用架构

全部标签

ruby - 在 ruby​​ 中获取可用磁盘空间

使用ruby​​获取磁盘空间信息的最佳方法是什么。我更喜欢纯ruby解决方案。如果不可能(即使有额外的gem),它也可以使用标准ubuntu桌面安装中可用的任何命令将信息解析为ruby​​。 最佳答案 您可以使用sys-filesystemgem(跨平台友好)require'sys/filesystem'stat=Sys::Filesystem.stat("/")mb_available=stat.block_size*stat.blocks_available/1024/1024 关于

Ruby Mine 提示 "Cannot switch SDK."即使 SDK 存在并且可用

MyRubyMine6.0.3给出消息:Project.ruby-versionSettings:CannotswitchSDK.RVMSDK'2.1.1@rails3'wasn'tfound.我使用rvm管理ruby​​环境。想要的环境似乎还可以:rvmgemsetlistgemsetsforruby-2.1.1(foundin/home/agostino/.rvm/gems/ruby-2.1.1)(default)globalrails3=>testproject不仅如此,自从打开文件后,我的设置似乎也能很好地访问rvm环境,我可以看到设置:那么为什么不能切换到正确的环境呢?如果在

ruby-on-rails - 为什么我需要更加努力地使我的 Rails 应用程序适应 RESTful 架构?

我最近开始了一个Rails项目,并决定使用RESTfulController。我为我的关键实体(例如国家/地区)创建了Controller并添加了index、new、edit、create、显示、更新和删除。我将我的map.resources:country添加到我的路线文件中,生活很美好。开发稍有进展后,就开始遇到问题了。我有时需要在我的Controller中执行额外的操作。首先是search操作,它返回我喜欢的自动完成搜索框的选项。然后需要在应用程序的不同位置以两种不同的方式显示国家/地区(显示的数据也不同,所以它不仅仅是两个View)-我添加了index_full操作。然后我想在

ruby-on-rails - 使用 EBC 的架构的实际示例?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。2年前关闭。Improvethisquestion我对RobertMartin的演讲很感兴趣"Architecture:TheLostYears".在其中,他讨论了MVC所基于的实体、边界、控制设计模式。我喜欢推迟架构决策的想法。他描述了在他自己的wiki应用程序FitNesse中推迟关于如何实现DB层的决定。我在自己的编码中有机地推迟了这样的决定,尽管没有先入为主的模块化设计带来了这一点。我想从实际的角度更好地理解这个EBC架构(它似

ruby - 让 gem 的 rake 任务随处可用?

因此,我正在编写一个小gem,其中有一个“/tasks”目录,其中包含一些特定的rake任务。如何在需要gem的任何地方自动执行这些任务?例如,我希望在安装gem后,我可以在我的rails根目录中运行“rakemygemrake:task”。 最佳答案 对于Rails3应用程序,您可能需要考虑为您的gem制作Railtie。您可以这样做:lib/your_gem/railtie.rbrequire'your_gem'require'rails'moduleYourGemclassRailtielib/your_gem.rbmodul

ruby - 你如何在 ruby​​ 中列出当前范围内的当前可用对象?

我是ruby​​的新手,正在研究IRB。我发现我可以使用“.methods”方法列出对象的方法,而self.methods可以满足我的需求(类似于Python的dir(builtins)?),但是如何找到我通过include和require加载的库/模块的方法?irb(main):036:0*self.methods=>["irb_pop_binding","inspect","taguri","irb_chws","clone","irb_pushws","public_methods","taguri=","irb_pwws","public","display","irb_req

ruby - rbenv 没有显示可用的 ruby​​ 版本

我已经在我的vagrant机器上安装了rbenv但是当我尝试列出所有可用的ruby​​版本时rbenvversions然后它给了我这个输出:系统(由/home/vagrant/.rbenv/version设置)有人知道这是什么吗? 最佳答案 您是在问该命令的输出是什么意思?我在看rbenvdocumentation,我认为这表明rbenv只知道一个版本的ruby​​-随系统安装的版本。编辑:如果这不是您要找的答案,您能告诉我们您希望看到什么吗?你在那台机器上安装了其他版本吗?编辑2:如果您想查看可以安装到计算机上但尚未安装的版本列表

ruby - 检查 Ruby Gem 的可用性

有没有办法通过Gem模块检查当前是否安装了某些gem?来自ruby​​代码,而不是通过执行“gemlist”...澄清-我不想加载库。我只想检查它是否可用,所以所有的rescueLoadError解决方案都对我没有帮助。此外,我不关心gem本身是否可以工作,只关心它是否已安装。 最佳答案 仅在Ruby1.9.3中还有:Gem.available?('somegem')您也可以使用正则表达式。如果我想允许“rcov”和GitHub变体如“relevance-rcov”,这很方便:Gem.available?(/-?rcov$/)

ruby-on-rails - 如何使用 RVM 并创建全局可用的 gem?

我正在运行MacOSX10.6.4并安装了RVM。到目前为止它非常棒,我真的很喜欢它让我在同一台机器上管理多个版本的Rails和Ruby而不会头疼的方式!但是,我不想为每个设置都安装某些gem(例如passenger)。有没有办法在gem集之间共享gem?我有一个1.8.7@rails2.3.8和1.9.2@rails3,我可以安装passenger、mysql和capistrano等gem一次并用于所有版本吗? 最佳答案 有一种叫做全局gemset的东西,它在某个ruby​​版本的所有gemset之间共享。但是您不能在ruby​​

ruby - 查找模块中可用的类

我有一个模块MyModule。我动态地将类加载到其中。如何获取在其命名空间中定义的类的列表?例子:defload_pluginsDir.glob(File.dirname(__FILE__)+'/plugins/*.rb')do|f|MyModule.class_evalFile.read(f)end#nowhowcanIfindthenewclassesI'veloadedintoMyModule?end我应该说每个f都包含类似“classFoo;end”的内容。您也可以这样想:在Rails中,我如何以编程方式找到ActiveRecord模块中定义的所有类?