Class: ActiveRecord::ConnectionAdapters::MSSQL::Type::Time
- Inherits:
-
Type::Time
- Object
- Type::Time
- ActiveRecord::ConnectionAdapters::MSSQL::Type::Time
- Defined in:
- lib/arjdbc/mssql/types/date_and_time_types.rb
Instance Method Summary collapse
-
#apply_seconds_precision(value) ⇒ Object
Overrides method in a super class (located in active model).
- #type_cast_for_schema(value) ⇒ Object
Instance Method Details
#apply_seconds_precision(value) ⇒ Object
Overrides method in a super class (located in active model)
110 111 112 113 114 115 116 |
# File 'lib/arjdbc/mssql/types/date_and_time_types.rb', line 110 def apply_seconds_precision(value) return value unless ar_precision && value.respond_to?(:usec) number_of_insignificant_digits = 6 - ar_precision round_power = 10**number_of_insignificant_digits value.change(usec: value.usec / round_power * round_power) end |
#type_cast_for_schema(value) ⇒ Object
99 100 101 102 103 104 105 106 107 |
# File 'lib/arjdbc/mssql/types/date_and_time_types.rb', line 99 def type_cast_for_schema(value) return %("#{value}") if value.acts_like?(:string) if value.usec > 0 %("#{value.to_fs(:db)}.#{value.usec.to_s.remove(/0+$/)}") else %("#{value.to_fs(:db)}") end end |