Method: ArelExtensions::Nodes::DateAdd#mssql_value
- Defined in:
- lib/arel_extensions/nodes/date_diff.rb
#mssql_value(v = nil) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/arel_extensions/nodes/date_diff.rb', line 114 def mssql_value(v = nil) v ||= self.expressions.last if defined?(ActiveSupport::Duration) && ActiveSupport::Duration === v if @date_type == :date v.to_i / (24*3600) elsif @date_type == :datetime if v.parts.size == 1 # first entry in the dict v.parts; one of [:years, :months, :weeks, :days, :hours, :minutes, :seconds] # | the value # | | # | | # v v v.parts.first.second else v.to_i end end else v end end |