Open joseph opened 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
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.
... so is one or the other of these two libraries preferred now?
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.
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:
xml_accessor
for child objects, dates, country codes, boolean elements, etc (seeelements.rb
)ONIX::Code
-- keys and values from the lists are now accessibleSo, uh, how do we get this to work?