class ValidatesTimeliness::Extensions::TimelinessDateTimeSelect::DateTimeValue

Attributes

day[RW]
hour[RW]
min[RW]
month[RW]
sec[RW]
year[RW]

Public Class Methods

new(year:, month:, day: nil, hour: nil, min: nil, sec: nil) click to toggle source
# File lib/validates_timeliness/extensions/date_time_select.rb, line 17
def initialize(year:, month:, day: nil, hour: nil, min: nil, sec: nil)
  @year, @month, @day, @hour, @min, @sec = year, month, day, hour, min, sec
end

Public Instance Methods

change(options) click to toggle source
# File lib/validates_timeliness/extensions/date_time_select.rb, line 21
def change(options)
  self.class.new(
    year:  options.fetch(:year, year),
    month: options.fetch(:month, month),
    day:   options.fetch(:day, day),
    hour:  options.fetch(:hour, hour),
    min:   options.fetch(:min) { options[:hour] ? 0 : min },
    sec:   options.fetch(:sec) { options[:hour] || options[:min] ? 0 : sec }
  )
end