Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify Mapper #533

Open
solnic opened this issue Apr 28, 2019 · 4 comments
Open

Simplify Mapper #533

solnic opened this issue Apr 28, 2019 · 4 comments
Assignees
Milestone

Comments

@solnic
Copy link
Member

solnic commented Apr 28, 2019

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
@solnic solnic added this to the 6.0.0 milestone Apr 28, 2019
@flash-gordon
Copy link
Member

It is a gem.

@dede999
Copy link

dede999 commented May 30, 2019

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 of ROM::Header. Each of then do you want me to remove? All of them?

@solnic
Copy link
Member Author

solnic commented Jun 2, 2019

@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.

@dede999
Copy link

dede999 commented Jun 5, 2019

I really appreciate your words @solnic . Gonna pick other issue in a future situation

@solnic solnic self-assigned this Jun 25, 2020
@solnic solnic modified the milestones: 6.0.0, 7.0.0 Apr 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants