yob / onix

A convenient mapping between ruby objects and the ONIX XML specification
MIT License
39 stars 33 forks source link

Refactor #3

Open joseph opened 13 years ago

joseph commented 13 years ago

Okay, OBVIOUSLY this is an insane pull request. But it might start a discussion about whether it's better to pull in the work or to just maintain forks.

My changes all mesh together, which means splitting this into multiple pull requests is not likely to work very well.

First: I have tried to preserve full backwards compatibility. There are one or two very minor changes to specs, but basically, existing consumers of this library should continue to work just fine.

Anyway, an overview:

So, uh, how do we get this to work?

yob commented 13 years ago

Thanks for this, there's plenty of food for thought. I'm flat out at the moment, but will review it when I can and consider what I think we should do

yob commented 13 years ago

Tonight I needed support for setting and extracting discount codes on the Price composite. I thought it was a good excuse to review this pull request but I ended up getting a bit overwhelmed by the size of it and released a small update to 0.9.1 as an interim measure.

Your code aesthetics are different to mine, but in general I like the new features you added. However I'm also daunted by the thought of supporting so much code that I'm not familiar with - I'm already coding too much on weekends and I doubt this would help.

Are you interested in some sort of co-maintenance arrangement? I think that would make me happier to merge this as is.

michaelglass commented 11 years ago

... so is one or the other of these two libraries preferred now?

yob commented 11 years ago

Not officially. I still use the official gems in my project, but I'm aware the API only provides access to a (very) limited subset of the ONIX spec.

@joseph's changes support most (all?) of the spec, so you might have more luck trying his branch.

I'm sorry for the state of the official gems, but I just don't have the time to actively maintain them very well.