Class: Qe::DateField

Inherits:
Question show all
Defined in:
app/models/qe/date_field.rb

Instance Attribute Summary

Attributes inherited from Question

#answers

Instance Method Summary collapse

Methods inherited from Question

#default_label?, #has_response?, #required?, #responses, #save_file, #save_response, #set_response

Methods inherited from Element

#all_elements, #duplicate, #has_response?, max_label_length, #position, #question?, #required?, #reuseable?, #set_position

Instance Method Details

#display_response(app = nil) ⇒ Object



33
34
35
# File 'app/models/qe/date_field.rb', line 33

def display_response(app=nil)
  return format_date_response(app)
end

#format_date_response(app = nil) ⇒ Object



37
38
39
40
41
# File 'app/models/qe/date_field.rb', line 37

def format_date_response(app=nil)
  r = response(app)
  r = r.strftime("%m/%d/%Y") unless r.blank?
  r
end

#ptemplateObject

which view to render this element?



44
45
46
47
48
49
50
# File 'app/models/qe/date_field.rb', line 44

def ptemplate
  if self.style == 'qe/mmyy'
    'qe/date_field_mmyy'
  else
    'qe/date_field'
  end
end

#response(app = nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/models/qe/date_field.rb', line 15

def response(app=nil)
  r = super
  return nil if r.blank?
  begin
    if r.is_a?(String)
      parts = r.split('/')
      if parts.length == 3
        r = Time.mktime(parts[2], parts[0], parts[1]) 
      else
        r = Time.parse(r)
      end
    end
  rescue ArgumentError
    r = ''
  end
  r
end

#validation_class(answer_sheet) ⇒ Object



7
8
9
10
11
12
13
# File 'app/models/qe/date_field.rb', line 7

def validation_class(answer_sheet)
  if self.style == 'mmyy'
    'validate-selection ' + super
  else
    'validate-date ' + super
  end
end