hashugar
hashugar copied to clipboard
Delegate to internal hash
This will replace #14 and adds all methods from internal Hash
. This PR is on top of and includes changes from #15
An important design choice we have to make here is priority of existing Hash
methods. For instance:
hashugar = Hashugar.new({merge: 1})
# if merge is treated as key => 1
expect(hashugar.merge).to eq(1)
# if merge is treated as Hash method => wrong number of arguments (given 0, expected 1)
expect{hashugar.merge}.to raise_error(ArgumentError)
Cool! Many years ago I forked this awesome gem and customized the hell out of it, thinking merely to create a variant for my own personal fun. Apparently at one point I submitted all of my modifications into one huge pull request (see #2 ) and I really don't know what I was thinking at that time (or how to develop collaboratively on projects like this).
However, I have to say that Hashugar has proven so incredibly useful and fun, I had to come back to this project. I am interested in making proper contributions, now that I am more versed in software development methodologies.
@kenn I am fascinated with your latest features. Were you inspired by #2 at all? I think we have very similar ideas about modifying Hashugar, but I'm intrigued with the different implementations, delegation for instance. I will have to go over your source
Any thoughts, @jsuchal ?
@kenn I'd love to discuss Hashugar feature development in general--what may be a good way to dialogue in real time? It's clear that we have several ideas about how to enhance Hashugar that we may agree on. I firmly believe significant changes should be atomic and incorporated one PR at a time, so where might be a good place to chat across the project? I know Gitter is a neat platform we could use. I haven't tried it before, so I made a test page. Looks slick enough. If @jsuchal likes it, we could set one up for the main repo and I could remove mine.
If that is overkill, let me know if you would like to simply chat. You can reach me at [email protected].
@SteveBenner feel free to open an issue with ideas. Happy to discuss that. However my time to support this gem is pretty limited, and I don't have any active projects that use it, so there is little "internal need" for me develop new features.