module ActiveRecord::ConnectionAdapters::SQLServer::Type::TimeValueFractional
Private Instance Methods
cast_fractional(value)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 10 def cast_fractional(value) return value if !value.respond_to?(fractional_property) || value.send(fractional_property).zero? frac_seconds = if fractional_scale == 0 0 else seconds = value.send(fractional_property).to_f / fractional_operator.to_f seconds = ((seconds * (1 / fractional_precision)).round / (1 / fractional_precision)).round(fractional_scale) (seconds * fractional_operator).to_i end value.change fractional_property => frac_seconds end
fractional_digits()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 31 def fractional_digits 6 end
fractional_operator()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 35 def fractional_operator 10 ** fractional_digits end
fractional_precision()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 39 def fractional_precision 0.00333 end
fractional_property()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 27 def fractional_property :usec end
fractional_scale()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 43 def fractional_scale 3 end
quote_fractional(value)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb, line 22 def quote_fractional(value) seconds = (value.send(fractional_property).to_f / fractional_operator.to_f).round(fractional_scale) seconds.to_d.to_s.split('.').last.to(fractional_scale-1) end