Skip to content

NoMethodError: undefined method `match?' for /^(true|t|yes|y|1)$/i:Regexp #764

Closed
@Hyperadministrator

Description

@Hyperadministrator

It would be good to see the version requirements in Annotate README. After upgrading Annotate from version 2.6.5 to 3.1.0 there seems to be Ruby version related problem. After upgrade it complains the following:

bundler: failed to load command: annotate (/home/vagrant/.bundle/ruby/2.3.0/bin/annotate)
NoMethodError: undefined method `match?' for /^(true|t|yes|y|1)$/i:Regexp
Did you mean?  match
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate/helpers.rb:18:in `true?'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:50:in `block in setup_options'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:49:in `each'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:49:in `setup_options'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/bin/annotate:26:in `<top (required)>'
  /home/vagrant/.bundle/ruby/2.3.0/bin/annotate:22:in `load'
  /home/vagrant/.bundle/ruby/2.3.0/bin/annotate:22:in `<top (required)>'

When checking the Ruby method match? I see that it was introduced in version 2.4.6 (https://apidock.com/ruby/Regexp/match%3F) while I'm using 2.3.8.

Commands

vagrant@dev-2:/mnt/path/app$ ./bin/bundle exec annotate
Annotated (4): Model1, Model2, Model3, Model4
vagrant@dev-2:/mnt/path/app$ ./bin/bundle update annotate
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Using rake 13.0.1 (was 12.3.3)
Using concurrent-ruby 1.1.6 (was 1.1.5)
Using i18n 0.9.5
Using minitest 5.14.0 (was 5.11.3)
Using thread_safe 0.3.6
Using tzinfo 1.2.6 (was 1.2.5)
Using activesupport 4.2.11.1
Using builder 3.2.4 (was 3.2.3)
Using erubis 2.7.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.4
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.9
Using crass 1.0.4
Using loofah 2.2.3
Using rails-html-sanitizer 1.2.0
Using actionview 4.2.11.1
Using rack 1.6.11
Using rack-test 0.6.3
Using actionpack 4.2.11.1
Using globalid 0.4.2
Using activejob 4.2.11.1
Using mini_mime 1.0.2
Using mail 2.7.1
Using actionmailer 4.2.11.1
Using activemodel 4.2.11.1
Using arel 6.0.4
Using activerecord 4.2.11.1
Using addressable 2.4.0
Using multi_json 1.13.1
Using airbrake 4.3.8
Using annotate 3.1.0 (was 2.6.5)
.
.
.
vagrant@dev-2:/mnt/path/app$ ./bin/bundle exec annotate
bundler: failed to load command: annotate (/home/vagrant/.bundle/ruby/2.3.0/bin/annotate)
NoMethodError: undefined method `match?' for /^(true|t|yes|y|1)$/i:Regexp
Did you mean?  match
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate/helpers.rb:18:in `true?'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:50:in `block in setup_options'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:49:in `each'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/lib/annotate.rb:49:in `setup_options'
  /home/vagrant/.bundle/ruby/2.3.0/gems/annotate-3.1.0/bin/annotate:26:in `<top (required)>'
  /home/vagrant/.bundle/ruby/2.3.0/bin/annotate:22:in `load'
  /home/vagrant/.bundle/ruby/2.3.0/bin/annotate:22:in `<top (required)>'

Version

  • Annotate: 2.6.5, updated to 3.1.0 and after that not working
  • Rails: 4.2.11.1
  • Ruby: 2.3.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions