Class: CckForms::ParameterTypeClass::Date

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

Overview

Represents a single date.

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DateTime

#mongoize

Methods included from DateTime::DateTimeParser

#date_object_from_what_stored_in_database

Class Method Details

.build_date_form(form_builder, options, type = '') ⇒ Object

Date SELECT as a set of 3 SELECTS: year, month, date



14
15
16
17
18
19
20
# File 'lib/cck_forms/parameter_type_class/date.rb', line 14

def self.build_date_form(form_builder, options, type = '')
  val =  options[:value].is_a?(Hash) ? options[:value][type] : options[:value]
  val = CckForms::ParameterTypeClass::Time::date_object_from_what_stored_in_database(val)
  form_element_options, form_element_html = CckForms::ParameterTypeClass::Time::default_options_for_date_time_selectors(val, options)
  form_element_html.merge!({required: options[:required]})
  ('<div class="form-inline">%s</div>' % form_builder.fields_for(:value) { |datetime_builder| datetime_builder.date_select type, form_element_options, form_element_html}).html_safe
end

Instance Method Details

#build_form(form_builder, options) ⇒ Object

Date SELECT



8
9
10
11
# File 'lib/cck_forms/parameter_type_class/date.rb', line 8

def build_form(form_builder, options)
  set_value_in_hash options
  self.class.build_date_form(form_builder, options)
end

#to_s(_options = nil) ⇒ Object

“12.12.2012”



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cck_forms/parameter_type_class/date.rb', line 23

def to_s(_options = nil)
  if value.is_a? Time
    the_value = {
        '(1i)' => value.year,
        '(2i)' => value.month,
        '(3i)' => value.day,
    }
  end

  the_value ||= value

  "#{the_value.try(:[], '(3i)')}.#{the_value.try(:[], '(2i)')}.#{the_value.try(:[], '(1i)')}"
end