Method: Datetime::DatetimeComponent#initialize

Defined in:
lib/datetimecomponent.rb

#initialize(custom_datetime_format: '', full_datetime: :null, date_separator: '/', weekday: :null, day: :null, month: :null, year: :null, display_time: :null, display_timezone: false, display_zone_offset: false, time_zone: 'UTC') ⇒ DatetimeComponent

Returns a new instance of DatetimeComponent.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/datetimecomponent.rb', line 18

def initialize(custom_datetime_format: '', full_datetime: :null, date_separator: '/', weekday: :null,
               day: :null, month: :null, year: :null, display_time: :null, display_timezone: false,
               display_zone_offset: false, time_zone: 'UTC')
  super
  @_routes = nil
  @date_separator = date_separator
  @time_zone = TZInfo::Timezone.get(time_zone)
  @datetime_format = custom_datetime_format
  return unless @datetime_format.empty?
  
  @format_args = {}
  @format_args[:full_datetime] = FULL_DATETIME_ARGS[full_datetime]
  @format_args[:weekday] = WEEKDAY_ARGS[weekday]
  @format_args[:day] = DAY_ARGS[day]
  @format_args[:month] = MONTH_ARGS[month]
  @format_args[:year] = YEAR_ARGS[year]
  @format_args[:display_time] = DISPLAY_TIME_ARGS[display_time]
  @format_args[:display_timezone] = display_timezone ? '%Z' : ''
  @format_args[:zone_offset] = display_zone_offset ? 'UTC %:z' : ''
  @datetime_format = build_datetime_format
end