Module: Formtastic::Inputs::Base::Labelling

Includes:
LocalizedString
Included in:
Formtastic::Inputs::Base
Defined in:
lib/formtastic/inputs/base/labelling.rb

Instance Method Summary (collapse)

Methods included from LocalizedString

#model_name

Instance Method Details

- (Object) label_from_options



36
37
38
# File 'lib/formtastic/inputs/base/labelling.rb', line 36

def label_from_options
  options[:label]
end

- (Object) label_html



8
9
10
# File 'lib/formtastic/inputs/base/labelling.rb', line 8

def label_html
  render_label? ? builder.label(input_name, label_text, label_html_options) : "".html_safe
end

- (Object) label_html_options



12
13
14
15
16
17
# File 'lib/formtastic/inputs/base/labelling.rb', line 12

def label_html_options
  {
    :for => input_html_options[:id],
    :class => ['label'],
  }
end

- (Object) label_text



19
20
21
# File 'lib/formtastic/inputs/base/labelling.rb', line 19

def label_text
  ((localized_label || humanized_method_name) + requirement_text).html_safe
end

- (Object) localized_label



40
41
42
# File 'lib/formtastic/inputs/base/labelling.rb', line 40

def localized_label
  localized_string(method, label_from_options || method, :label)
end

- (Boolean) render_label?



44
45
46
47
# File 'lib/formtastic/inputs/base/labelling.rb', line 44

def render_label?
  return false if options[:label] == false
  true
end

- (Object) requirement_text



28
29
30
31
32
33
34
# File 'lib/formtastic/inputs/base/labelling.rb', line 28

def requirement_text
  if requirement_text_or_proc.respond_to?(:call)
    requirement_text_or_proc.call
  else
    requirement_text_or_proc
  end
end

- (Object) requirement_text_or_proc

TODO: why does this need to be memoized in order to make the inputs_spec tests pass?



24
25
26
# File 'lib/formtastic/inputs/base/labelling.rb', line 24

def requirement_text_or_proc
  @requirement_text_or_proc ||= required? ? builder.required_string : builder.optional_string
end