0
votes

I've run into a problem today. I've spent the past couple of months building a fairly intensive Rails 3 App that uses all the latest versions of every gem I need. I've just been informed that I can't use anything new. I'll be adding my project in with a bunch of others which use older versions of everything. We can't upgrade the existing, we can only downgrade mine.

With that said, I need to downgrade pretty much everything I've done. Here's a list of what I'm using currently (via gem list):

actionmailer (3.2.6)
actionpack (3.2.6)
activemodel (3.2.6)
activerecord (3.2.6)
activeresource (3.2.6)
activesupport (3.2.6)
arel (3.0.2)
awesome_print (1.0.2)
builder (3.0.0)
bundler (1.1.4)
chronic (0.6.7)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.3.3)
erubis (2.7.0)
execjs (1.4.0)
git (1.2.5)
hike (1.2.1)
i18n (0.6.0)
jeweler (1.8.4)
journey (1.0.4)
jquery-rails (2.0.2)
json (1.7.3)
libv8 (3.3.10.4 x86_64-linux)
libxml-ruby (2.3.3)
mail (2.4.4)
mime-types (1.19)
multi_json (1.3.6)
nokogiri (1.5.5)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.6)
railties (3.2.6)
rake (0.9.2.2)
rdoc (3.12)
roxml (3.3.1)
rubygems-bundler (1.0.3)
rvm (1.11.3.4)
sass (3.1.20, 3.1.19)
sass-rails (3.2.5)
sprockets (2.1.3)
sqlite3 (1.3.6)
therubyracer (0.10.1)
thor (0.15.4)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.33)
uglifier (1.2.6)
whenever (0.7.3)

Here are the versions I'm allowed to use (for some gems);

activesupport (1.0.7)
activerecord (2.3.2)
actionmailer (2.3.2)
activeresource (2.3.2)
actionpack (2.3.2)
rails (2.3.2)
rake (0.8.4)
sqlite3 (1.2.1)
rubygems (1.3.1)
nokogiri (1.5.0)

So as you can tell, I have some work to do. I'm not even sure I'm using every single gem in the first list; in fact, I'm fairly certain I'm not. So I suppose Step 1 is to remove any and all gems I'm not actually using.

Once I do that, what's the fastest/easiest/best/most efficient way of going about this task?

Thanks!

1
as a developer you should be using some kind of scm for every change, so what exactly is your problem?rubiii
@rubiii: I created a Rails 3 App from scratch. I didn't start with an old version of anything. My Rails 3 App will not work on the device I want it to, because that device requires all old versions of everything. I can't change the device, I must change my App. How do I devolve/downgrade my App, so it runs on old stuff. I need my Rails 3 App to become a Rails 2 App, and everything needs to go along with it.XML Slayer

1 Answers

2
votes

I would think the easiest thing to do is to create a new Rails 2.3.2 app, and build that up from scratch, but copying over logic and templates and installing the Rails 2 version of gems where needed, and rewrite parts that depend on newer gems or syntax.

The real question is why can't you deploy your Rails 3 app the way it is? With RVM, Rbenv and Bundler, there should be no reason why you can't deploy different versions of Rails on the same server (If that is even the issue).