Suggestions of upgrade path from prawn 0.8.4 to 2.1.0?

25 views
Skip to first unread message

Thibaut Barrère

unread,
Jan 27, 2017, 8:54:47 AM1/27/17
to Prawn
Hi there!

I have to upgrade a client app from Prawn 0.8.4 (Feb 2010) to 2.1.0 (luckily, this is an app I wrote initially, so I have a decent grasp on the business logic).

I'm evaluating 2 approaches currently :
- gradual upgrade from 0.8.4 to 0.15.0 then 1.0 etc and upward, fixing regressions & breakage as I go
- complete rewrite directly with 2.1.0 (only worth it if the API gap is fairly large)

Since I guess some here went on a similar road, I wonder if someone could share which upgrade path worked for them, and if specific caveats are to be watched out for?

I checked out the wiki changelog in particular, which mentions that "Every user-facing feature in Prawn has now been assigned a level of API compatibility support", but I cannot find where this compatibility is displayed in the documentation (and this makes me wonder if this is still the case ?)

Anyway - any feedback one can provide will be useful here.

Thanks!

-- Thibaut

Alexander Mankuta

unread,
Jan 30, 2017, 8:04:42 AM1/30/17
to Prawn
Hi Thibaut,

I would suggest a complete rewrite. Prawn change significantly since 0.8.4. Quite a few features have been extracted or removed without a proper replacement. Check Changelog to see what might affect your code.

--
Regards,
Alex

Thibaut Barrère

unread,
Feb 22, 2017, 7:30:28 AM2/22/17
to Prawn
Ultimately I ended up upgrading the gem directly to latest, and using SimpleCov + RSpec to gradually update all code paths.

I'll share more details later on what had to be done, but it was actually easier than expected.

A message of hope for those who need to do the same :-)

-- Thibaut
Reply all
Reply to author
Forward
0 new messages