Class: Forma::NumberField

Inherits:
TextField show all
Includes:
Utils
Defined in:
lib/forma/field.rb

Overview

Number field.

Instance Attribute Summary

Attributes inherited from TextField

#password

Attributes inherited from Field

#actions, #after, #autofocus, #before, #child_model_name, #height, #hint, #i18n, #icon, #inline_hint, #label, #model, #model_name, #name, #parent, #readonly, #required, #tag, #turbolink, #url, #value, #width

Instance Method Summary collapse

Methods included from Utils

extract_value, number_format, #simple_value, singular_name

Methods inherited from TextField

#edit_element

Methods inherited from SimpleField

#errors, #has_errors?, #value

Methods inherited from Field

#action, #id, #localization_key, #localized_hint, #localized_label, #name_as_chain, #parameter_name, #to_html

Methods included from Html

attr, el

Constructor Details

#initialize(h = {}) ⇒ NumberField

Returns a new instance of NumberField.



426
427
428
429
430
431
432
433
# File 'lib/forma/field.rb', line 426

def initialize(h = {})
  h = h.symbolize_keys
  @min_digits = h[:min_digits] || Forma.config.num.min_digits
  @max_digits = h[:max_digits] || Forma.config.num.max_digits
  @separator = h[:separator] || Forma.config.num.separator
  @delimiter = h[:delimiter] || Forma.config.num.delimiter
  super(h)
end

Instance Method Details

#view_element(val) ⇒ Object



435
436
437
# File 'lib/forma/field.rb', line 435

def view_element(val)
  el('code', text: "#{number_format(val.to_f, max_digits: @max_digits, min_digits: @min_digits)}")
end