Module: DatetimeHelper

Defined in:
lib/datetime_helper.rb,
lib/datetime_helper/version.rb,
lib/datetime_helper/matchers/zulu_time_rspec_matcher.rb,
lib/datetime_helper/matchers/iso_date_and_time_rspec_matchers.rb,
lib/datetime_helper/serialisers/active_model_serialiser_helper.rb,
lib/datetime_helper/validators/zulu_time_active_model_validator.rb

Defined Under Namespace

Modules: Matchers, Serialisers, Validators

Constant Summary collapse

ZULU_TIME_PATTERN =
/^(\d{4})-([0-1][0-9])-([0-3]\d{1})T([0-2]\d{1}):([0-5]\d{1}):([0-5]\d{1})(\.[0-9]{1,3})?Z$/
VERSION =
"1.0.3"

Class Method Summary collapse

Class Method Details

.is_zulu_time?(something) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
# File 'lib/datetime_helper.rb', line 8

def is_zulu_time?(something)
  return is_zulu_time_string?(something)   if something.is_a? String
  return is_zulu_time_datetime?(something) if something.is_a? DateTime
  return is_zulu_time_time?(something)     if something.is_a? Time
  false
end

.is_zulu_time_datetime?(datetime) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/datetime_helper.rb', line 19

def is_zulu_time_datetime?(datetime)
  datetime.zone == "+00:00"
end

.is_zulu_time_string?(time_string) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/datetime_helper.rb', line 15

def is_zulu_time_string?(time_string)
  !(time_string =~ ZULU_TIME_PATTERN).nil?
end

.is_zulu_time_time?(time) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/datetime_helper.rb', line 23

def is_zulu_time_time?(time)
  time.utc?
end