草庐IT

cocoon-gem

全部标签

ruby-on-rails - 这个 gem 如何与您的错误处理 Hook ?

我试图了解gem的工作原理,以及如何创建gem来覆盖或向Rails3应用程序添加附加功能。这是一个错误捕获gem,它通过http将错误发布到服务器。要安装它,您只需添加gem,然后它会使用您的apikey创建一个初始化程序。到目前为止我已经了解了这一部分,但我需要帮助来理解gem的执行以及它如何挂接到rails。我找到的相关文件是:https://github.com/airbrake/airbrake/blob/master/lib/airbrake/rails.rb将方法添加到ActionController的位置类:ifdefined?(ActionController::Bas

ruby - 添加我正在开发的 gem 以由 ruby​​gems 自动加载而无需构建/安装?

我正在使用Jeweler在自定义目录中开发一个gem。我希望能够在任何应用程序(以及来自$PATH的可执行文件)中requiregem,而无需在每次修改gem时都构建和安装它。我想到了两种方式:我创建了指向$GEM_HOME/gems和$GEM_HOME/bin的符号链接(symboliclink)我将bin目录添加到$PATH并将lib目录添加到要加载的ruby​​gems。但我敢打赌,有一种正确的方法可以做到这一点。 最佳答案 您可以在gem命令中指定本地路径:gem'your-gem','1.2.3',:path=>'path

ruby-on-rails - Multi-Tenancy 应用程序的授权 gem?

是否有任何Multi-Tenancy应用程序的授权gem/示例?我查看了CanCan和CanTango,但找不到我要找的东西。我的应用有账户、用户、关系模型。关系模型有一个确定授权级别的relationship_type列。它的值可以是owner、moderator、editor,将来可能更多。用户可以拥有/管理多个帐户,一个帐户可以有多个所有者/管理员。我找到的所有示例都描述了单个租户应用程序,而我的应用程序的授权必须限定在正在查看的当前帐户范围内。例如,用户可以是一个帐户的访客,也可以是另一个帐户的所有者。我开始认为我的关系模型设计不佳并且可能有缺点,但我不确定什么是更好的选择。

ruby - 继续安装在特定点损坏的 gem

我需要安装mysql2gem,但它在链接时中断并显示“错误:无法构建gemnative扩展”。它确实错误地使用了-lmysqlclient_r,而它应该使用-lmysqlclient。我是怎么做的:$cd/usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2$viMakefile#change-lmysqlclient_rto-lmysqlclient$makelinkingshared-objectmysql2/mysql2.so$cd../../我现在应该怎么做才能从这里继续安装?更新:我认为运行makei

ruby - Listen Gem 与 FSSM gem - 哪个更好?

刚读过sasschangelog并发现FSSM(用于compasswatch任务的gem)已被替换为Listen我试图谷歌找出原因,但找不到确切原因。截至今天,FSSM的总下载量远远大于Listen。此外,据我所知(如果我错了请纠正我)如果不支持类似inotify的事件,FSSM会优雅地降级以进行轮询。Listen没有。那么,如果我想在我的脚本中使用文件系统事件,有人可以解释一下使用Listengem而不是FSSM的原因是什么吗?更新:哈哈,更新FSSM并尝试调用它后,我从FSSM收到以下消息:DeardevelopersmakinguseofFSSMinyourprojects,FS

ruby - 当我从我的任何项目中运行 'gem list' 时,我得到以下输出

user@user:~/Workspace/fq$gemlist--local***LOCALGEMS***bundler(1.0.21)为什么它不显示我安装的所有gem? 最佳答案 你在使用rvm吗?如果是这样,这些gem可能安装在不同的gemsets下。运行rvmgemsetlist以显示所有gemset。运行rvmgemsetuse#{gemset_name}以使用此gemset_name,然后再次运行gemlist。 关于ruby-当我从我的任何项目中运行'gemlist'时,我

ruby-on-rails - Ruby: "gem install bundler"未安装 bundler

我是Rails的新手,正在尝试启动并运行演示应用程序。我的linux系统(lubuntu,主要是全新安装)在运行“捆绑安装”时遇到了问题。即使是这样,如果我关闭我的终端并启动另一个终端,它也无法再次运行。循环看起来像这样:sandbox@75bf7f3:~/railsstuff/sample_app_2nd_ed$bundleinstallERROR:Gembundlerisnotinstalled,run`geminstallbundler`first.sandbox@75bf7f3:~/railsstuff/sample_app_2nd_ed$geminstallbundlerSu

ruby - 如何重建 gem 的补丁版本?

只是想学习如何在没有gemspec的情况下重建ruby​​的gem:例如尝试为Gosu库创建固定的gem:使用gemfetchgosu下载gem使用gemunpackgosu-0.7.45.gem提取gem的内容应用补丁:cdgosu-0.7.45&&patch-p1/path/to/patch/fix_cflags.patch>???如何从修改后的来源重建gem?我找不到原始gemspec。有什么想法吗? 最佳答案 回答我自己的问题:4a。通过gemunpack--spec提取gemspec文件4b。使用gembuild/path

ruby-on-rails - 解决类和 gem 之间的命名空间冲突

在我的Rails2.3应用程序中,我发现问题源于现有ActiveRecord模型和我最近添加的gem之间的命名空间冲突。具体来说,我试图向应用程序添加jammit支持。jammit的依赖gem之一需要'platform',它将Platformmodule引入到应用程序的命名空间中。但是,我已经有一个同名的ARclass,重命名它会带来很多额外的工作和可能的错误。我想知道是否有一种相对简单的方法(使用ruby​​的metamagic或诸如此类)来防止这种namespace冲突,而不必重命名我的类或更改实际的gem。谢谢。编辑:不是在整个应用程序中重命名/包装类Platform,因为mod

ruby - 如何调试 Ruby gem? ( compass )

我正处于学习Ruby的早期阶段,想学习如何调试gem,但找不到相关的学习资源。一个简单的例子对我来说意义重大。是debugger首选调试器?我在哪里需要它?如何使用它设置断点?注意:我有根据地猜测,调试过程可能会因需要调试的gem而不同,因此作为引用,我对debuggingcertainissues特别感兴趣。与Compass. 最佳答案 好的,这是我自己想出来的。这是我采取的步骤..我正在运行Ruby1.9.3(通过运行ruby-v确定),所以经过测试ruby-debug和ruby-debug19,我确定这些调试器不再维护,或者至