Class: ActiveRecord::ConnectionAdapters::SQLServer::Type::Time
- Inherits:
-
Type::Time
- Object
- Type::Time
- ActiveRecord::ConnectionAdapters::SQLServer::Type::Time
- Includes:
- TimeValueFractional2
- Defined in:
- lib/active_record/connection_adapters/sqlserver/type/time.rb
Instance Method Summary collapse
-
#_formatted(value) ⇒ Object
Currently only called from our custom Time type for formatting.
- #deserialize(value) ⇒ Object
- #quoted(value) ⇒ Object
-
#serialize(value) ⇒ Object
We do not want the Time object to be turned into a string.
- #sqlserver_type ⇒ Object
- #type_cast_for_schema(value) ⇒ Object
Instance Method Details
#_formatted(value) ⇒ Object
Currently only called from our custom Time type for formatting
22 23 24 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 22 def _formatted(value) "#{value.to_s(:_sqlserver_time)}.#{quote_fractional(value)}" end |
#deserialize(value) ⇒ Object
35 36 37 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 35 def deserialize(value) value.is_a?(Data) ? super(value.value) : super end |
#quoted(value) ⇒ Object
47 48 49 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 47 def quoted(value) Utils.quote_string_single(value) end |
#serialize(value) ⇒ Object
We do not want the Time object to be turned into a string
28 29 30 31 32 33 34 35 36 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 28 def serialize(value) value = super return value unless value.acts_like?(:time) time = value.to_s(:_sqlserver_time).tap do |v| fraction = quote_fractional(value) v << ".#{fraction}" end Data.new time, self end |
#sqlserver_type ⇒ Object
43 44 45 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 43 def sqlserver_type "time(#{precision.to_i})" end |
#type_cast_for_schema(value) ⇒ Object
39 40 41 |
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 39 def type_cast_for_schema(value) serialize(value).quoted end |