Class: CckForms::ParameterTypeClass::Time

Inherits:
Object
  • Object
show all
Includes:
DateTime, Base
Defined in:
lib/cck_forms/parameter_type_class/time.rb

Overview

Represents a single time.

Instance Method Summary collapse

Methods included from DateTime

#mongoize

Methods included from DateTime::DateTimeParser

#date_object_from_what_stored_in_database

Instance Method Details

#build_form(form_builder, options) ⇒ Object

Time SELECT



8
9
10
11
12
13
14
15
# File 'lib/cck_forms/parameter_type_class/time.rb', line 8

def build_form(form_builder, options)
  set_value_in_hash options
  value = CckForms::ParameterTypeClass::Time::date_object_from_what_stored_in_database(options[:value], options)
  form_element_options, form_element_html = CckForms::ParameterTypeClass::Time::default_options_for_date_time_selectors(value)
  form_element_options.merge!({ignore_date: true, minute_step: 5})
  form_element_html.merge!({required: options[:required]})
  ('<div class="form-inline">%s</div>' % form_builder.fields_for(:value) { |datetime_builder| datetime_builder.time_select '', form_element_options, form_element_html})
end

#to_s(_options = nil) ⇒ Object

“19:34”



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cck_forms/parameter_type_class/time.rb', line 18

def to_s(_options = nil)
  if value.is_a? Time
    the_value = {
        '(4i)' => value.hour,
        '(5i)' => value.min,
    }
  end

  the_value ||= value

  "#{the_value.try(:[], '(4i)')}:#{the_value.try(:[], '(5i)')}"
end