Skip to main content

Rake not found in any source

Could not find rake-10.1.0 in any of the sources (Bundler::GemNotFound)

This is a very common issue sometimes and it took me time to figure it out. The passenger configuration present in /etc/apache2/apache2.conf was pointing to different ruby version. Change it accordingly depending on the specific ruby version being used.

Steps i performed:
$ rvm use 1.9.3p327
$rvm gemset list
$rvm gemset create g1
$cd .

Now edit the .rvmrc files present in project folder accordingly, rvm use 1.9.3-p327@g1

From the project folder type $cd .
and the ruby version with specific gemset is loaded for the application.

You can also do 
$ rvm use 1.9.3p327 --default 
to make it default.

Once more way i fixed this issue is, removed the gemset which i created and used the default gemset that is

$ rvm gemset use default


Popular posts from this blog

Starting with Ruby Metaprogamming

Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running.(wikipedia)
 Using simple code samples let's give basic start to metaprogramming which helps to relate how code base can be simplified.
 Considering the below class.

Now, using some metaprogramming concepts above code can be modified, notice the assign_attributes method used while the o/p in both the examples is same

Adding some more examples, below simple code helps to generate methods on the fly instead of defining in individually

Metaprogramming should be used with caution and not make the code complicated and difficult to read. It should be easy to understand and modular to change in future.

upload images to AWS::S3 in ruby using aws sdk gem

Using gem aws-sdk for a ROR application for uploading images to s3
Uploading images to a fixed bucket with different folders for each object or application. The s3 keeps a limitation on the number of buckets creation whereas there is no limitation for content inside a bucket. This code will upload image for a user to s3 using aws-sdk gem. The bucket and the image uploaded are made public, so that the images uploaded are directly accessible. The input is takes is the image complete path where it is present, folder in which it should be uploaded and user_id for whom it should be uploaded. def save_screenshot_to_s3(image_location, folder_name,user_id) service = => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY) bucket_name = "app-images" if(service.buckets.include?(bucket_name)) bucket = service.buckets[bucket_name] else bucket = service.buckets.create(bucket_name) …