Class: Hoodoo::Presenters::DateTime

Inherits:
Field
  • Object
show all
Defined in:
lib/hoodoo/presenters/types/date_time.rb

Overview

A JSON DateTime schema member.

Instance Attribute Summary

Attributes inherited from Field

#default, #name, #required

Instance Method Summary collapse

Methods inherited from Field

#full_path, #has_default?, #initialize, #render, #walk

Constructor Details

This class inherits a constructor from Hoodoo::Presenters::Field

Instance Method Details

#validate(data, path = '') ⇒ Object

Check if data is a valid DateTime and return a Hoodoo::Errors instance.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/hoodoo/presenters/types/date_time.rb', line 10

def validate( data, path = '' )
  errors = super( data, path )
  return errors if errors.has_errors? || ( ! @required && data.nil? )

  unless Hoodoo::Utilities.valid_iso8601_subset_datetime?( data )
    errors.add_error(
      'generic.invalid_datetime',
      :message   => "Field `#{ full_path( path ) }` is an invalid ISO8601 datetime",
      :reference => { :field_name => full_path( path ) }
    )
  end

  errors
end