Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

collision String method name "b" with Ruby 2.1 #10

Open
JokerCatz opened this issue Feb 5, 2014 · 7 comments · May be fixed by #11
Open

collision String method name "b" with Ruby 2.1 #10

JokerCatz opened this issue Feb 5, 2014 · 7 comments · May be fixed by #11

Comments

@JokerCatz
Copy link

sorry for my poor english...

Ruby 2.1.0 String.b #=> http://www.ruby-doc.org/core-2.1.0/String.html#method-i-b

& I tried require(gemfile) radix in rails & use will be fail
~/.rvm/gems/ruby-2.1.0/gems/radix-2.2.0/lib/radix/operator.rb:51:in 'b': wrong number of arguments (0 for 1) (ArgumentError) from ~/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/erb.rb:600:in 'compile' from ~/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/erb.rb:800:in 'initialize'

@hlascelles
Copy link

Agreed. The radix gem and Ruby 2.1 are not compatible. Same stacktrace.

@hlascelles
Copy link

What is the best course of action here? Probably to not add that method at all if Ruby is > 2.

@hlascelles
Copy link

I've forked this project, removed the operator.rb, and cut a gem:

gem 'radix-firstbanco'

There's no pull request, as the solution would break all pre Ruby 2.1.0 installations, and Ruby 2.1.0 is broken anyway.

Hopefully the gem authors have a better idea of how to solve this - thank you rubyworks!

@hlascelles
Copy link

Ruby 2.1.1 released.... My forked gem is still required to make Radix work correctly. Hope rubyworks have a plan to resolve the problem?

@maksar
Copy link

maksar commented Mar 24, 2014

just fixed this problem by doing:
gem 'radix', require: 'radix/integer'
and then using
Radix::Integer.new(@seed, @alphabet.length).to_s @alphabet instead of @seed.b(@alphabet.length).to_s(@alphabet)

@asalme asalme linked a pull request Jul 10, 2014 that will close this issue
@travisbell
Copy link

Just adding a vote for this to finally get fixed in a official release. In the meantime, I'm using the 'radix-firstbanco' gem.

@trans
Copy link
Member

trans commented Mar 2, 2015

Been busy with other work this last year (android development) and just learned about this (unfortunately I don't always get issue emails, not sure why). So I just put in an issue at bugs.ruby-lang.org (https://bugs.ruby-lang.org/issues/10924), asking that the method name be changed. Seems to me an awful name for ascii 8-bit conversion anyway. The obvious choice being #ascii. Of course, I don't have high hopes for my request. They never give me much credence over there. So barring a minor miracle, what is the next best fix? Any ideas?

bbasata added a commit to bbasata/shrinkwrap that referenced this issue Nov 18, 2017
String#b is defined by the radix gem and is also defined in Ruby 2.2.
Let's avoid the conflict.

xref: rubyworks/radix#10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants