Parent

Methods

Class/Module Index [+]

Quicksearch

Sequel::SQL::DateAdd

The DateAdd class represents the addition of an interval to a date/timestamp expression.

Attributes

expr[R]

The expression that the interval is being added to.

interval[R]

The interval added to the expression, as a hash with symbol keys.

Public Class Methods

new(expr, interval) click to toggle source

Supports two types of intervals:

Hash

Used directly, but values cannot be plain strings.

ActiveSupport::Duration

Converted to a hash using the interval's parts.

# File lib/sequel/extensions/date_arithmetic.rb, line 164
def initialize(expr, interval)
  @expr = expr
  @interval = if interval.is_a?(Hash)
    interval.each_value do |v|
       # Attempt to prevent SQL injection by users who pass untrusted strings
       # as interval values. 
       if v.is_a?(String) && !v.is_a?(LiteralString)
         raise Sequel::InvalidValue, "cannot provide String value as interval part: #{v.inspect}"
       end
    end
    interval
  else
    h = Hash.new(0)
    interval.parts.each{|unit, value| h[unit] += value}
    {}.merge(h)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.