Entries tagged with “ruby”.
Did you find what you wanted?
Tue 31 Jan 2012
Problem
You want to be able to use different gems/rails version for your application after installing the latest rails version, without having to use bundle exec.
Solution
You can use the named gemsets with rvm.
More instructions are here: http://beginrescueend.com/gemsets/basics/
so you can install two gemsets for example ruby-1.9.3-p0@rails3_0_11 and another with ruby-1.9.3-p0@rails3_2_1
you could then do :
rvm gemset create rails3_0_11 rails3_2_1
rvm 1.9.3-p0@rails3_0_11
gem install rails -v 3.0.11
rvm 1.9.3-p0@rails3_2_1
gem install rails -v 3.2.1
rvm gemset use rails3_0_11
bundle install
Mon 9 Jan 2012
Problem
If you have setup guard with your Rails project and you are trying to run it in an (K)Ubuntu installation you get the following message:
Could not open library 'libgtkmm-2.4.so': libgtkmm-2.4.so: cannot open shared object file: No such file or directory.
Solution
Install the missing library with the following:
sudo apt-get install libgtkmm-2.4
Wed 14 Sep 2011
Problem
You would like to use a random password in ruby. Most solutions describe using the Digest library (Digest::SHA1).
Solution
According to the post here, you can achieve the same by using ActiveSupport’s secure_random library.
To use it in Ruby outside Rails use:
require 'active_support/secure_random'
ActiveSupport::SecureRandom.hex(10)
ActiveSupport::SecureRandom.base64(10)
and inside rails:
SecureRandom.hex(10)
Tue 23 Feb 2010
Problem
You have a list, usually after using join(“,”) in an array that consists of different values ie “one, two, three, four”, but you want to replace the last comma with and so it would be “one, two, three and four”.
Solution
Use reverse initially to reverse the string, then use sub to replace the last comma with the word and reversed (dna), and then finally reverse the string again.
string_with_and=string_with_commas.reverse.sub(/,/, ‘ dna ‘).reverse
or, thanks to Akhil's comment, for Arrays in Rails we can use the to_sentence method as in:
string_with_no_commas=array.to_sentence(options = {:last_word_connector => ” and “})
Wed 7 May 2008
Problem
You want to pass the £ sign to an http service, but the ruby CGI.escape encodes it incorrectly.
Solution
After using ruby’s CGI.escape for the string as:
sms_msg_tmp=CGI.escape(sms_code)
then replace the encoding with the pound sign encoding as in:
sms_msg=sms_msg_tmp.gsub('%C2%A3','%A3')
It should then pass the correct value for the £ sign.