草庐IT

java - 多模块项目的 Maven 报告和站点生成

全部标签

ruby - 不同 Ruby 项目之间代码重用的最佳实践是什么?

伙计们!我是一名具有Java背景的软件开发人员,我正在使用Ruby网络框架(Padrino/Sinatra)开始一些项目。在我的java项目中,我通常有一些“公共(public)”项目,其类在多个项目中使用。例如,我有一个中央身份验证服务和一个存储用户配置文件的共享数据库。我所有使用此服务的项目都共享一些映射到用户配置文件数据库的模型。那么,尽管有框架、orm库等,跨多个Ruby项目共享代码的最佳方式是什么? 最佳答案 除此之外,ruby'sgems是重用代码公共(public)部分的最佳方式之一。Gem具有名称、版本号和描述,因此

ruby - 生成集合的所有 "unique"子集(不是幂集)

假设我们有一个集合S,它包含几个子集:-[a,b,c]-[a,b]-[c]-[d,e,f]-[d,f]-[e]我们还假设S包含六个唯一元素:a、b、c、d、e和f。我们如何找到S的所有可能子集,这些子集恰好包含S的每个唯一元素一次?函数/方法的结果应该是这样的:[[a,b,c],[d,e,f]];[[a,b,c],[d,f],[e]];[[a,b],[c],[d,e,f]];[[a,b],[c],[d,f],[e]].是否有任何最佳实践或任何标准方法来实现这一点?如果有伪代码、Ruby或Erlang示例,我将不胜感激。 最佳答案 听

ruby-on-rails - 命名空间模块和 Rails 3.1.3 autoload_path

我在为包含在模型中的模块命名空间时遇到了一些麻烦。在/app/models/car.rb中classCarincludeSearch::Carend在/lib/search/car.rb中moduleSearchmoduleCarincludeActiveSupport::Concern#methodsinhereendend在/config/application.rb中config.autoload_paths+=Dir["#{config.root}/lib/**/"]config.autoload_paths+=Dir["#{config.root}/lib/search/*"

ruby-on-rails - 如何使用 markdown 文件作为 rdoc 的主文件(在 Rails 项目中)?

是否可以在Rails项目中使用readme.md文件并让rdoc在主页上使用它?我尝试按如下方式设置我的rake任务,但生成的index.html页面有一个占位符语句。如果我更改为README.rdoc,它会按预期工作,因为包含文件的内容。我也在尝试使用tomdoc,我猜这可能会使事情复杂化,不确定。RDoc::Task.new:rdocdo|rdoc|rdoc.main="README.md"rdoc.rdoc_files.include("README.md","doc/*.rdoc","app/**/*.rb","lib/**/*.rb","config/**/*.rb")rdo

ruby - 重开Ruby嵌套模块异常

为什么重新打开嵌套模块会根据使用的语法给出不同的结果?例如,这很好用:moduleAmoduleEendendmoduleAmoduleEdefE.eendendend但是这个:moduleAmoduleEendendmoduleA::EdefE.eendend给出错误:reopen.rb:6:in`':uninitializedconstantA::E::E(NameError)fromreopen.rb:5:in`'(在有人指出这一点之前,解决方法是在定义E.e时使用self而不是模块名称,但这不是本文的重点。) 最佳答案 mo

ruby-on-rails - 使用 Faker gem 生成相关的城市、邮政编码、国家代码值

有没有办法得到Fakergem生成“相关的”城市和国家/地区代码值?例如,加利福尼亚州温哥华明尼苏达州明尼阿波利斯我这样做:FactoryGirl.definedofactory:locationdo...city{Faker::Address.city}country_code{['US','CA'].sample}...endend但不能保证city实际位于country_code。我会满足于这样的事情:postal_code{Faker::Address.postcode(['US','CA'].sample)}然后我可以对其进行地理编码以获得其他值。

ruby - Octopress 错误 - rake 预览、观察或生成

我遵循了OctopressDocumentation中的所有说明:sddhrthrt@thinkpad:~/octopress$rakegenerate##GeneratingSitewithJekylldirectorysource/stylesheets/createsource/stylesheets/screen.cssConfigurationfrom/home/sddhrthrt/octopress/_config.yml/home/sddhrthrt/octopress/plugins/pygments_code.rb:5:warning:alreadyinitializ

ruby - 使用 ruby​​ 生成格式化为/etc/shadow 的 SHA512 crypt-style 哈希?

我想生成SHA512散列密码以直接包含在/etc/shadow文件中以与chef'suserresource一起使用.通常我会为此访问stdlib的Digest库,但它不会以正确的格式生成哈希:ruby-1.9.2-p136:001>require'digest/sha2'=>trueruby-1.9.2-p136:002>Digest::SHA512.hexdigest('test')=>"ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b1437

ruby - 在模块中扩展类方法

我正在使用ruby​​的元编程功能,我发现它有点毛茸茸。我正在尝试使用模块包装方法调用。目前,我正在这样做:moduleBarmoduleClassMethodsdefwrap(method)class_evaldoold_method="wrapped_#{method}".to_symunlessrespond_to?old_methodalias_methodold_method,methoddefine_methodmethoddo|*args|sendold_method,*argsendendendendenddefself.included(base)base.exten

ruby-on-rails - 每次请求都会重新加载模块,因此初始化数据会丢失

我将值存储在模块内的类变量中,例如:moduleTranslationEnhancerdefself.install!klass@dictionaries||=[]我从config/initializers中的初始化程序中调用它:requireRails.root+"lib"+"translation_enhancer.rb"TranslationEnhancer::install!TranslationDictionary现在,如果我在开发环境中启动服务器,在第一个请求期间一切正常。然而,在那个请求之后,@dictionaries突然变成了nil。我已经注释了TranslationE