- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在构建一个在迁移中使用外键的 Rails 引擎。
add_foreign_key "theblog_content_nodes",
"theblog_content_statuses", column: :content_status_id
从 4.2
版本开始,rails 本身就支持外键,但在我们为此使用 foreigner
gem 之前。如果我们尝试将 foreigner
与 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",
"theblog_content_statuses", column: :content_status_id
end
但是我想为旧的 rails 版本添加 foreigner
依赖。
最佳答案
要访问 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"
关于ruby - gemspec 中的条件 ruby gem 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34041684/
当您编写 gemspec 文件时,摘要和描述字段之间的实际区别是什么? 最佳答案 它们用在不同的地方。 summary 可以看到你执行 gem list -d,而 description 可以在 ht
当我从 github 安装 gem 时,它给了我错误: number_internationalizer at /usr/local/rvm/gems/ruby-1.9.3-p194@number_i
我正在编写一个依赖于另一个 gem X 的 gem,但是 X 具有与我的 gem 的依赖项冲突的过时依赖项。 (具体来说,multi_json-1.7.x和X的multi_json-1.1.x有冲突)
rubygems 想知道我的开发依赖项是什么,这似乎是一个奇怪的功能,到目前为止,我从未见过它用于在运行 gem 测试时实际加载这些依赖项。 最佳答案 如果有人出于某种原因决定破解您的 gem,例如他
当我在 Gemfile 中包含我制作的 gem 时,感谢 Bundler(版本 1.0.12),然后我尝试像这样 bundle 或抓取: $ 佣金 我收到此错误消息: Invalid gemspec
当我尝试在 Windows 中使用 gems 时,出现以下错误,我也提到了 this stackoverflow post并更新了 rubygems 和 Rails。但没有什么能解决问题。 以下是
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Meaning of tilde-greater-than (~>) in version requirem
当我尝试在 Windows 中使用 gems 时出现以下错误,我还提到了 this stackoverflow post并更新了 rubygems 和 rails。但没有什么能解决问题。 下面是完
bundler since v1.7当在 gemfile 中指定多个全局源时发出警告。您可以使用 source blocks指定哪些 gem 应该来自给定的来源,但是 source个别 gem 的选项
我正在构建一个使用 rails-assets-growl gem 的 gem。可以使用 不同于 'https://rubygems.org' 的源将此 gem 添加到我的 Gemfile,如下所示:
我正在构建一个需要安装 json gem 才能运行的 gem。哪个 json gem 并不重要:json_pure、json-jruby 或基于 C 的 json。 是否有在 gemspec 中定义它
有没有一种干净的方法可以从 .gemspec 文件中提取版本字符串? (gem 尚未安装) 例如somethingcool.gemspec 是 Gem::Specification.new do |s
我几乎做了所有的事情this instruction告诉我这样做,但我遇到了一系列错误。这是日志: stanley@ubuntu:~$ mkdir railstest stanley@ubuntu:~
对于 Linux 上的 Ruby 新用户来说,没有将 openssl 编译到他们的 Ruby 中是一个相对常见的错误。我们有一个需要'openssl'的gem,每隔一段时间它就会在'openssl'上
在过去的几个月里,Ruby 依赖管理和 gem 创建的状态有了一些快速的发展,以至于我一直难以跟上一切。 如果我正在编写一个新的 gem,我用来创建我的 gemspec 的最佳工具是什么?与竞争对手相
我的 gem 中需要私有(private) gem,并且 gemspec 依赖项不能包含 git 存储库。 所以我用 geminabox 启动了我的私有(private)服务器,并将源代码添加到我的
关于 gemspecs 的文件列表。 我注意到珠宝商使用项目中的文件列表手动更新此列表。例如 Gem::Specification.new do |s| # stuff s.files = [
每当开发 gems 时,我看不出有任何理由不直接检查 Gemfile 的依赖关系。 的确,为什么要使用 .gemspec 文件来列出它们?有真正的好处吗? 最佳答案 那是因为 Gemfile 不是来自
我正在开发一个 gem(Gem A),它使用我也编写的另一个 gem(Gem B)。至此 Gem B 已添加到 Gem A 的 gemspec 中: gem.add_dependency "gem_a
例如,给定 Gemspec 文件: $:.push File.expand_path("../lib", __FILE__) # Maintain your gem's version: requir
我是一名优秀的程序员,十分优秀!