Module: Jquids::FormHelpers

Defined in:
lib/jquids/form_helpers.rb

Instance Method Summary collapse

Instance Method Details

#jquids(model, method, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/jquids/form_helpers.rb', line 16

def jquids(model, method, options ={})
  obj = options[:object] || instance_variable_get("@#{model}")
  Jquids.jquids_process_options(options)

  jsonify_opts options

  options[:value] ||=
    begin
      obj.send(method).strftime(Jquids.date_format_string(false))
    rescue
      nil
    end

  options[:class] ? options[:class] += " #{jquids_class(options)}" : options[:class] = jquids_class(options)

  text_field(model, method, options)
end

#jquids_class(options) ⇒ Object



51
52
53
54
55
56
# File 'lib/jquids/form_helpers.rb', line 51

def jquids_class(options)
  result = "jquids_"
  result << "d" unless options.delete(:calendar) == false
  result << "t" if options.delete(:time) == true
  result << "p"
end

#jquids_tag(name, value = nil, options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/jquids/form_helpers.rb', line 4

def jquids_tag(name, value=nil, options = {})
  Jquids.jquids_process_options(options)

  jsonify_opts options

  value = Jquids.format_time(value)

  options[:class] ? options[:class] += " #{jquids_class(options)}" : options[:class] = jquids_class(options)

  text_field_tag(name, value, options)
end

#jsonify_opts(options) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/jquids/form_helpers.rb', line 34

def jsonify_opts(options)
  unless options[:datepicker_options].nil? and options[:timepicker_options].nil?
    options[:datepicker_options] ||= {}
    options[:datepicker_options] = options[:datepicker_options].merge(options.delete(:timepicker_options)) unless options[:timepicker_options].nil?
    options["data-jquipicker"] =
      if options[:datepicker_options].respond_to?(:to_json)
        options.delete(:datepicker_options).to_json
      else
        begin
          JSON.unparse(options.delete(:datepicker_options))
        rescue
          ""
        end
      end
  end
end