Open johnnyshields opened 3 years ago
Ooooof I know for sure that Artsy relies on the fact that slugs default to ID, and aren't nil
. This is a massive breaking change, isn't it?
@dblock we should make this behavior configurable. As noted above, its inconsistent. A "never touched" new model will have slug default to ID, but once you call clear_slug!
the slug value becomes nil
. I can investigate further on a way to preserve the behavior for Artsy.
@dblock we should make this behavior configurable. As noted above, its inconsistent. A "never touched" new model will have slug default to ID, but once you call
clear_slug!
the slug value becomesnil
.
I actually don't think it's inconsistent, but can be misinterpreted. Don't you want to clear the slug on clear_slug!
? Maybe we need a clear_slug_and_set_to_default!
?
I can investigate further on a way to preserve the behavior for Artsy.
Sounds good. It should be backwards compatible or we need to bump major and document the breaking change, all while allowing the functionality to exist.
#slug
should not default to_id.to_s
. This is inconsistent with the rest of the gem:_slugs
does not contain_id.to_s
clear_slug!
sets_slugs
to[]
, so#slug
will returnnil
in this caseslug
and_slugs
to benil