Fix: attribute_for_inspect truncate upto (51 => 50) characters.
Merge pull request #11375 from namusyaka/fix_attribute_for_inspect

Fix: attribute_for_inspect truncate upto (51 => 50) characters.
Using the instance variable for argv.

Instead of using the global constant ARGV, we're changing to using the
instance variable because it is more testable.
Merge pull request #11372 from wangjohn/fixing_rails_commands_class

Using the instance variable for argv.
Fix microsecond precision of Time#at_with_coercion

When Time.at_with_coercion (wraps Time.at) is called with a single
argument that "acts_like?(:time)" it is coerced to integer thus losing
it's microsecond percision.

This commits changes this to use `#to_f` to prevent the problem
Retain UTC offset when using Time.at_with_coercion

The standard Ruby behavior for Time.at is to return the same type of
time when passing an instance of Time as a single argument. Since the
an ActiveSupport::TimeWithZone instance may be a different timezone than
the system timezone and DateTime just understands offsets the best we
can do is to return an instance of Time with the correct offset.

Fixes #11350.