# Backwards compatibility

**URL:** <https://www.ruby-forum.com/t/backwards-compatibility/174324>\
**Category:** Rails\
**Created:** [August 25, 2009, 3:29am UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324 "2009-08-25T03:29:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 25, 2009, 3:29am UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/1 "2009-08-25T03:29:21Z")

</div>

does any one know how revert between rails versions without rewriting  
lots of code, i.e. backwards compatibility, isnt there a framework that  
handles the changes so your applications will work\>?

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 25, 2009, 4:05am UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/2 "2009-08-25T04:05:26Z")

</div>

I’ve never seen something like that but why would you ever want to  
“revert” your code to work on a previous version?

The only possible solution is to add a lot of “ifs” to every single  
thing that changed.

- 

Maurício Linhares  
[http://codeshooter.wordpress.com/](http://codeshooter.wordpress.com/) | [http://twitter.com/mauriciojr](http://twitter.com/mauriciojr)

On Mon, Aug 24, 2009 at 10:29 PM, Arthur

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 25, 2009, 5:26pm UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/3 "2009-08-25T17:26:58Z")

</div>

In short, no.

In longer, why on EARTH would you want to run on an older version?  
You’re asking for trouble.

–Matt JOnes

On Aug 24, 9:29 pm, Arthur R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 25, 2009, 11:47pm UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/4 "2009-08-25T23:47:03Z")

</div>

Well, i havent the need to go backwards, but testing out xlsuite I have  
tried to get it running with the code from git and the bundled rails  
wasnt working well. I ran on Debian, rails 2.3.3,ruby 1.8.7 and xl is  
on 2.2.2 but I couldnt get it working so hence the reason to ask. I did  
remove the newer version and installed 2.2.2 to get it to work but it  
was complaining about encoding issues…

maybe it wasnt the best idea but a lazy thought…

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 26, 2009, 12:27am UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/5 "2009-08-26T00:27:56Z")

</div>

thanks, not really the situ for this case - but good advice for future

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 26, 2009, 9:46am UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/6 "2009-08-26T09:46:11Z")

</div>

2009/8/25 Arthur R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Well, i havent the need to go backwards, but testing out xlsuite I have  
> tried to get it running with the code from git and the bundled rails  
> wasnt working well. Â I ran on Debian, rails 2.3.3,ruby 1.8.7 and xl is  
> on 2.2.2 but I couldnt get it working so hence the reason to ask. Â I did  
> remove the newer version and installed 2.2.2 to get it to work but it  
> was complaining about encoding issues…

You don’t need to remove a later version of Rails to use an earlier  
version, just setup the version you want in environment.rb, for  
example  
RAILS\_GEM\_VERSION = ‘2.3.2’ unless defined? RAILS\_GEM\_VERSION

If you want to freeze that version into your app then you can do  
rake VERSION=2.3.2 rails:freeze:gems

Colin

---

<div class="post-metadata">

**Author:** ![artrat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/b2d939/32.png) [@artrat](https://www.ruby-forum.com/u/artrat)\
**Post date:** [August 25, 2009, 11:56pm UTC](https://www.ruby-forum.com/t/backwards-compatibility/174324/7 "2009-08-25T23:56:49Z")

</div>

On Mon, Aug 24, 2009 at 8:29 PM, Arthur  
Rats[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> does any one know how revert between rails versions without rewriting  
> lots of code, i.e. backwards compatibility, isnt there a framework that  
> handles the changes so your applications will work\>?

The tool you want is you. You write tests for you app then when you  
move forward into a new Rails version you run your tests and fix the  
issues, pretty simple actually.

–  
Greg D.  
[http://destiney.com/](http://destiney.com/)
