The current Trinidad gem depends on jruby-rack 1.1.0 which has some errors being displayed in my development log for every single one of my assets
/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 warning: multiple values for a block parameter (2 for 1)
This is an issue that has apparently been resolved in the current jruby-rack (1.2) master branch and I'd like to make trinidad depend on this.
Is there a way to do this from within my Gemfile? Or another simpler solution than forking the Trinidad gem and specifying a different version of jruby-rack (and wishing it works since it may not).
TL;DR - not really. You'll need to build one or both projects or get some help from the
jruby-rack
team by way of a release. See bottom for build steps.The current Trinidad versions (1.4.4 and 1.4.5B1 prerelease) use
jruby-rack
with optimistic versioning (>= 1.1.10
and>= 1.1.13
, respectively), so any dependency that satisfies this (say, 1.2.0) would take precedence without touching Trinidad.Unfortunately, because of how the JAR is packaged, a
git:
orgithub:
dependency will not work. You would need to build the gem yourself. This is not too bad -- you really just need Maven beyond a working JDK/JRuby setup.Once
jruby-rack
is built/released with the changes, will be able to specify a workable version in your Gemfile (assuming it gets versioned 1.2.0):Maybe the
jruby-rack
team could backport this specific change to the 1.1.13 maintenance line and push a 1.1.13.2 release if it doesn't introduce incompatibility. Or they may be willing to do a prerelease from master.I haven't tested that things work properly for assets, but building and specifying the local version was relatively easy:
After this, you can use
gem 'jruby-rack', '~> 1.2.0.SNAPSHOT'
in your Gemfile to satisfy Trinidad and test whether your problem is resolved.