Method: Date.civil

Defined in:
lib/date_time_precision/patch/1.8.7/date.rb,
lib/date_time_precision/patch/1.9.2/date.rb,
lib/date_time_precision/patch/1.9.3/date.rb

.civil(y = nil, m = nil, d = nil, sg = ITALY) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 21

def civil(y=nil, m=nil, d=nil, sg=Date::ITALY)
  args = [y,m,d]
  precision = self.precision(args)

  args = normalize_new_args(args)

  unless jd = valid_civil?(*args)
    raise ArgumentError, 'invalid date'
  end

  date = new!(jd_to_ajd(jd, 0, 0), 0, sg)
  date.precision = precision
  date.attributes_set(y,m,d)
  date
end