gemspec中的条件ruby gem依赖项
发布时间:2020-12-16 21:10:49 所属栏目:百科 来源:网络整理
导读:我正在构建一个在迁移中使用外键的rails引擎. add_foreign_key "theblog_content_nodes","theblog_content_statuses",column: :content_status_id 从版本4.2开始,rails支持外键,但在我们使用foreigner gem之前.如果我们尝试使用带有rails 4.2和更新版本的外
我正在构建一个在迁移中使用外键的rails引擎.
add_foreign_key "theblog_content_nodes","theblog_content_statuses",column: :content_status_id 从版本4.2开始,rails支持外键,但在我们使用foreigner gem之前.如果我们尝试使用带有rails 4.2和更新版本的外国人,我们会收到错误. 所以,因为我要从4.0.1开始支持rails,所以我必须在我的gemspec中使用条件依赖. 我找到了可能的解决方案here,但我不知道如何检查gemspec中的rails版本. # sidekiq-spy.gemspec if RUBY_VERSION >= '2.1' spec.add_development_dependency "curses","~> 1.0" end 注意: 我有另一个临时解决方案:我只是检查迁移中的Foreigner可用性.如果它不可用我只是不创建外键: if defined?(Foreigner) add_foreign_key "theblog_content_nodes",column: :content_status_id end 但我想为旧的rails版本添加外国人依赖. 解决方法
要访问rails版本,我们可以使用类似下面的内容(基于
this answer):
require 'rubygems' rails_gem = Gem::Specification.select {|z| z.name == "rails"}.max_by {|a| a.version} p rails_gem.version.version #=> "4.2.5" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |