Module: PencilPusher::DateTimeFields

Defined in:
lib/pencil_pusher/date_time_fields.rb

Instance Method Summary collapse

Instance Method Details

#optional_date_time_field(options = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/pencil_pusher/date_time_fields.rb', line 26

def optional_date_time_field(options={})
  field_name = options.fetch(:field_name)
  format     = options.fetch(:format)

  attribute field_name, PencilPusher::Virtus::Coercer::DateTime, format: format

  validates field_name,
    'pencil_pusher/validations/optional_date_time' => {
      format:   format,
      messages: {invalid: options.fetch(:invalid_message)}
    }
end

#optional_time_field(options = {}) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/pencil_pusher/date_time_fields.rb', line 55

def optional_time_field(options={})
  field_name = options.fetch(:field_name)
  format     = options.fetch(:format)

  attribute field_name, PencilPusher::Virtus::Coercer::Time, format: format

  validates field_name,
    'pencil_pusher/validations/optional_time' => {
      format:   format,
      messages: {invalid: options.fetch(:invalid_message)}
    }
end

#required_date_time_field(options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pencil_pusher/date_time_fields.rb', line 10

def required_date_time_field(options={})
  field_name = options.fetch(:field_name)
  format     = options.fetch(:format)

  attribute field_name, PencilPusher::Virtus::Coercer::DateTime, format: format

  validates field_name,
    'pencil_pusher/validations/date_time' => {
      format:   format,
      messages: {
        blank:   options.fetch(:blank_message),
        invalid: options.fetch(:invalid_message)
      }
    }
end

#required_time_field(options = {}) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/pencil_pusher/date_time_fields.rb', line 39

def required_time_field(options={})
  field_name = options.fetch(:field_name)
  format     = options.fetch(:format)

  attribute field_name, PencilPusher::Virtus::Coercer::Time, format: format

  validates field_name,
    'pencil_pusher/validations/time' => {
      format:   format,
      messages: {
        blank:   options.fetch(:blank_message),
        invalid: options.fetch(:invalid_message)
      }
    }
end