-
Notifications
You must be signed in to change notification settings - Fork 7
Coordination - ensuring the gem is production-ready #5
Description
Hello,
I decided to tackle gonzalo-bulnes/dredd-rack#7, and to implement it using this gem in order to keep concerns separated. Before making dredd-hooks-ruby a dependency of Dredd::Rack, however, I'd like to refactor/improve it a bit so:
- its versions are named following the Semantic Versioning conventions
- it has a change log (example)
- its code "feels more like Ruby" - follows the usual naming conventions, is a bit more idiomatic, a bit DRYer...
- its maintenance is easier for a Ruby dev. - add a few Rake tasks for testing, eventually add a unit test suite
I'm happy to do that as a contribution to dredd-hooks-ruby, and opened this issue for coordination purpose.
More details
Some of that will be refactoring, but some will also introduce changes in the API (following the naming conventions may change the include DreddHooks::Methods statement for example), but to make it more familiar to Ruby developers.
What I see as the API:
- the binary name, and default URL, ports [can't be changed because Dredd relies on them - correct me if I'm wrong]
- the DSL [I see no reason to change it]
- the DSL inclusion statement [if I change it I'll make the change explicit - that's the point of semantic versioning]
- the hook names [no reason to change them, I mean it's a Dredd concern not a dredd-hooks-ruby one]
Questions / Ideas
I've forked the project, and will start working on it. I have a few questions:
- I could formalize my TO DO list as a series of issues here (I can't open them against my fork), and close them from the corresponding commits. IMO it would allow to set a roadmap and they could be tagged accordingly or assigned to myself, but I want to be sure it's OK before flooding you with issues and PR
- I'm assuming the current version being 0.0.1 makes changing the versioning scheme and slightly modifying the API not a big deal, but again, you are the maintainers and I don't want these changes to sound scary
What do you think?
Edit: I removed the third question because I was mistaken: Travis CI is installing the gem locally, and there is no inconvenient in bumping the version number without releasing the corresponding gem. I'll just start working in my fork, and am willing to PR the result as soon as you want. : )