| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
eileencodes/refactor-join_keys-usage-in-reflection
Refactor join_keys to remove complex conditionals
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pushing conditionals down to through reflection
Only the through association needs the part of this conditional
that deals with belongs to and polymorphic? so that can be pushed
down into the ThroughReflection reducing the conditionals.
Remove conditional because we can delegate join keys to source reflection
Remove need for source_macro checking
By adding join_id_for to the other reflections we remove the need
to cehck against the source_macro and can reduce the conditioanl
from the original join_id_for(owner)
Using polymorphism instead of testing the source_macro
This case statement in join_association is almost exactly the same
as the original join_keys code. Testing taht theory by creating a
new join_dependency_keys(assoc_klass) method.
Refactor join_keys further to be more concise
Fixed format of "#:nodoc:" to "# :nodoc:" where I added them to this
file.
|
| | |
|
| |
| |
| |
| |
| | |
These methods mutate the path variable/argument so there is no need
to reassign it every time.
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
eileencodes/finish-refactoring-macro-to-eliminate-checking-against-symbols
Redefine macro checks for reflections
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we define the macro on the reflection type we no longer
need to check `macro == :what` on each type for `belongs_to?` or
`has_one?` etc. These now default to false unless it's defined
in the reflection class.
Reuse existing belongs_to? method to check macros
We don't need to do `:belongs_to == macro` anymore becasue we
have a `belongs_to?` method. I didn't find this being used
anywhere for `has_one?` or `collection?` since they were already
fixed.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This is not storying the RouteSet instance anywhere as the other
examples in the file, so no need to use #tap.
|
|\ \
| | |
| | | |
Add tests to ensure default proc is used when `HashWithIndifferentAccess' is initialized with a block
|
| | |
| | |
| | |
| | | |
initialized with a block
|
|\ \ \
| |/ /
|/| | |
Raise a descriptive error if non-positive integer passed to in_groups_of
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is more consistent than the current behaviour of raising a
`ZeroDivisionError: divided by 0` error when 0 is given, which can be
non-obvious especially if `in_groups_of` is part of a longer chain of
methods.
The negative case was ok - "ArgumentError: invalid slice size" - but
this error is clearer still.
|
| |
| |
| |
| |
| |
| | |
The message passed to Minitest's assert_raise is used as output in case
the assertion fails, but we can test against the exact message by using
the actual exception object that is returned from the assert_raise call.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Removed unnecessary call to 'convert_key' in 'HashWithIndifferentAccess#to_hash'
|
| | |
| | |
| | |
| | | |
All the keys are already Strings by virtue of being a HashWithIndifferentAccess.
|
| | |
| | |
| | |
| | |
| | | |
We are using blocks here so we have access to the environment around
them, no need for globals.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
every call to default_resources_path_names allocates a new hash, no need
to dup
|
| | | |
|
| |/
|/|
| |
| | |
this makes scope rollback much easier
|
| |
| |
| |
| | |
just ask whether or not the route is defined
|
| |
| |
| |
| | |
we can `super` in to the previous implementation.
|
| |
| |
| |
| |
| | |
we already know what helpers are path helpers, so just iterate through
that list and define the helpers with warnings
|
| | |
|
| |
| |
| |
| |
| | |
this lets us avoid hard coding a regexp for separating path and url
helpers in the clear! method.
|
| | |
|
|\ \
| | |
| | | |
Deprecate `*_path` methods in mailers
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead.
Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR.
Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead.
The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`.
Paired @sgrif & @schneems
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
JackDanger/remove_redundant_self_in_class_method_calls
Remove redundant `self.` in class method calls
|
| | |/
| |/|
| | |
| | | |
These are the only instances of this in the whole code base.
|
|\ \ \
| |_|/
|/| | |
Prevent using String#scrub on Rubinius
|
|/ /
| |
| |
| |
| |
| | |
Rubinius' has built-in support for String#scrub but it doesn't have yet
support for ASCII-incompatible chars so for now, we should rely on the
old implementation of #tidy_bytes.
|
|/
|
|
|
|
|
| |
This reverts commit f632f79b8dcd144408c66a544984b2ba9cf52f87, reversing
changes made to 98c7fe87690ca4de6c46e8f69806e82e3f8af42d.
Closes #16343
|
|\
| |
| | |
remove unneeded test model for ActiveModel test cases.
|
| | |
|
|\ \
| | |
| | | |
Add implicit receiver support to `Object#with_options`
|
| | | |
|