In both of these cases:
a = Marshal.dump(:rent_active_on.to_s)
b = Marshal.dump('rent_active_on')
a = Marshal.dump(String(:rent_active_on))
b = Marshal.dump(String('rent_active_on'))
a is not equal to b. The end values are ALMOST the same:
> a = Marshal.dump(:rent_active_on.to_s)
=> "\x04\bI\"\x13rent_active_on\x06:\x06EF"
> b = Marshal.dump('rent_active_on')
=> "\x04\bI\"\x13rent_active_on\x06:\x06ET"
The difference is the very last character. The 'F' vs the 'T'. I can't find any way to make them yield the same result. I'm totally confused... what's going on here?
Using Ruby 2.6.1