rom
rom copied to clipboard
Simplify Mapper
ROM::Mapper
still exposes old DSL that is far worse than what ROM::Transformer
provides (via Dry::Transformer
). Furthermore, we still use mapper builders with all the mapping options to build transformers, which is extra complexity that we don't need anymore.
This should be done prior #531 because adding Identity Map will be simpler with a simplified mapping layer.
TODO
- Remove
ROM::Mapper
and its usage - Remove
ROM::Header
and its usage - Rename
ROM::Transformer
=>ROM::Mapper
- Refactor
ROM::MapperCompiler
so that it turns relation AST into a dry-transformer function w/o any intermediate objects as we have now
It is a gem.
I'd like to help with this, but I'm not quite sure about a couple of things,
- There are several definitions of
ROM::Mapper
and two ofROM::Header
. Each of then do you want me to remove? All of them?
@dede999 thanks for offering help. I gotta be honest though - this is one of the biggest and most difficult tasks scheduled for 6.0.0. I'm not sure if it's a good idea to tackle it as the first contribution. Obviously, nothing is blocking you from working on this one, I just want to make sure it's a good match for you. I'll be adding more issues and start using labels that will indicate the level of difficulty. This should make it simpler for people to pick up a suitable task.
I really appreciate your words @solnic . Gonna pick other issue in a future situation