Skip to content

Conversation

@thatdoogieguy
Copy link
Member

test 1.2.9 merge of code

doits and others added 30 commits July 30, 2021 12:07
`method_missing` does not swallow kwargs on ruby 3 anymore
In practice, every backend class that is used in a model is a subclass
of one of the base classes. Configured backend classes have a model
class and set of options, whereas the base backend classes do not.

However, previously you could still call `options` or `model_class` on
the base classes and you would get back a `nil`. This is confusing since
those getter methods should never be called on the base backend classes.

In this commit I'm restructuring the code such that:
- getter methods raise on the base backend class
- methods which do not make sense on the base backend class are moved
  to a module which is included into backend subclasses.

I think this should avoid weird bugs and misunderstandings.
This code is not actually covered by tests, but Sequel::SQL::Expression
does not have `args`, ComplexExpression does, so let's fix this.
shioyama and others added 30 commits February 16, 2022 11:17
fixes dirty tracking and creating empty translation hashes on read

fixes shioyama#540
Fixes mobility to work if subclassing a subclass of a mobility-enabled class, and looks up mobility_backend_classes later in execution (upon being called) to be more flexible.
This feature was implemented in 1.2 but I had to read the PR to understand how to use it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants