class Datetime::DatetimeComponent
Constants
- DAY_ARGS
- DISPLAY_TIME_ARGS
- FULL_DATETIME_ARGS
- MONTH_ARGS
- WEEKDAY_ARGS
- YEAR_ARGS
Public Class Methods
new(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')
click to toggle source
Calls superclass method
# 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
Private Instance Methods
build_dateformat()
click to toggle source
# File lib/datetimecomponent.rb, line 57 def build_dateformat date_format = @format_args[:day] unless @format_args[:month].empty? date_format += @format_args[:month] == MONTH_ARGS[:numeric] ? @date_separator : ' ' date_format += @format_args[:month] end unless @format_args[:year].empty? date_format += @format_args[:month] == MONTH_ARGS[:numeric] ? @date_separator : ' ' date_format += @format_args[:year] end date_format end
build_datetime_format()
click to toggle source
rubocop:enable Metrics/ParameterLists
# File lib/datetimecomponent.rb, line 43 def build_datetime_format datetime_format = @format_args[:full_datetime] return "#{datetime_format} #{@format_args[:zone_offset]}" unless datetime_format.empty? datetime_format += @format_args[:weekday] datetime_format += ', ' if !datetime_format.empty? && !@format_args[:day].empty? datetime_format += build_dateformat datetime_format += ', ' if !datetime_format.empty? && !@format_args[:display_time].empty? datetime_format += build_timeformat datetime_format end
build_timeformat()
click to toggle source
# File lib/datetimecomponent.rb, line 72 def build_timeformat time_format = @format_args[:display_time] time_format += ' ' unless @format_args[:display_time].empty? time_format += @format_args[:display_timezone] time_format += ' ' unless @format_args[:display_timezone].empty? time_format += @format_args[:zone_offset] time_format end