5 ms·
We should be doing something for all those gems which are abandoned or not functional, and also dead ruby projects which have not released code for years. It
by crazydiamond 16y ago
We should be doing something for all those gems which are abandoned or not functional, and also dead ruby projects which have not released code for years.
It makes it very hard to search for a given gem/library -- one has to wade through too much noise. The reason I've stopped downloading perl apps is the same -- many of them depend on some broken, abandoned library -- you waste hours trying to install something before finding some conflicting/broken dep.
Perhaps a repo or listing of live projects, with some rating system.
Now there is new problem: not knowing if a gem is for 1.8 or 1.9.
- steveklabnik 16y agohttp://isitruby19.com/ http://isitruby19.com/
- crazydiamond 16y agoDoes this not depend on someone updating it. I find in many cases just a gem name, nothing more (last i checked).
- steveklabnik 16y agoIt does. So if you find just the name, try it out, and then report back, so the next person doesn't have the same problem.
- crazydiamond 16y agoTHis still involves many steps for someone looking for a library or gem that already does what he is looking for. 1. Do a search on rubyforge/google etc 2. Go through list to see what has actually released code 3. Check isitruby.com to see if someone's commented on it 4. Test out and then comment on isitruby. if it does not work, there could be other reasons as well as for example, a dependency not installing on my machine. In fact that brings up another point. What if the given gem has more dependencies. I would have so much to test out just to know if it works on 1.9. I would think it is best that the author declares he has tested it on 1.9 on a given OS. Then others can add their feedback whether it has worked on their OS etc.
- mark_l_watson 16y agoThe 1.8 and 1.9 dichotomy is a pain, no doubt about it. I totally switched to 1.9, wiped 1.8.* from my development systems. In a few cases I had problems (like manual edits to acts_as_list) but life is simpler and the runtime speed increase is really nice. Pardon a link to my own stuff, but I have written about the 1.9 conversion: rubyplanet.net I am trying to maintain Ruby 1.9.1 and JRuby compatibility on my rails apps which is getting easier to do.
- Legion 16y agoI would be completely on Ruby 1.9 right now if not for Redmine. :(
- rufugee 16y agoThe challenge with getting those old gems up to snuff is the challenge with Ruby itself. Unless you have a great set of test cases, refactoring is a REALLY BIG PAIN...often with a cost close to 10-20% of original development in my experience. In my many years of doing Ruby development, that's my real complaint. Ruby makes it much more difficult and costly to eliminate technical debt.
- steveklabnik 16y agoWould you mind explaining why Ruby makes this harder than other languages do? The reason that I ask is because I've found the opposite; due to the massive number of easy to use testing frameworks, it's easier for me to end up writing tests and making sure my debt doesn't come back.
- rufugee 16y agoBecause of open classes and code generation in general, it's very difficult to track down to the exact line of code where a feature is introduced, or changed. Add to this that code tends to be decorated in a very non-traditional way; it is typically just re-opened and modified to fit the developer. Add to this the fact that you may have many gems installed, and each of them may do this re-opening, and it becomes a refactoring nightmare, because you really don't know at any given time where all of your behavior is coming from. In one specific example, we had a bug in moving an app to 2.3 in which three different gems contributed. It was very tough to nail down. Aside from all that, pop open your favorite editor or IDE, find a method you're interested in learning more about (let's say, for refactoring), and try to use that tool's built-in functionality to "Go to" the declaration. 6 out of 10 times I bet it fails to get you there. I have tried with RubyMine, NetBeans, Aptana, and Vim, and each of them fail to find anything more complex than simple method declarations. Ruby is just a hard language to navigate.
- steveklabnik 16y ago> Because of open classes and code generation in general, Gotcha. Makes lots of sense. I've just not been bitten by this yet, I guess. > use that tool's built-in functionality to "Go to" the declaration. Ah, I'd never run into this too, because I default to just going to a browser and going to the online docs. But if you're used to another workflow, I can see how that'd be a pain.