Class: Bureaucrat::Fields::FloatField

Inherits:
Field
  • Object
show all
Defined in:
lib/bureaucrat/fields.rb

Constant Summary

Constants included from Validation::Validators

Validation::Validators::EMAIL_RE

Instance Attribute Summary

Attributes inherited from Field

#error_messages, #help_text, #hidden_widget, #initial, #label, #required, #show_hidden_initial, #widget

Instance Method Summary collapse

Methods inherited from Field

hidden_widget, inherited, #initialize_copy, set_error, #validating, widget, #widget_attrs

Methods included from Validation::Converters

to_big_decimal, to_bool, to_float, to_integer

Methods included from Validation::Validates

fail_with

Methods included from Validation::Validators

empty_value?, has_max_decimal_places, has_max_digits, has_max_length, has_max_whole_digits, has_min_length, included_in, is_array, is_email, is_not_greater_than, is_not_lesser_than, is_present, is_true, matches_regex, not_empty

Constructor Details

#initialize(options = {}) ⇒ FloatField

Returns a new instance of FloatField.



200
201
202
203
204
# File 'lib/bureaucrat/fields.rb', line 200

def initialize(options={})
  @max_value = options.delete(:max_value)
  @min_value = options.delete(:min_value)
  super(options)
end

Instance Method Details

#clean(value) ⇒ Object



206
207
208
209
210
211
212
213
214
215
216
217
# File 'lib/bureaucrat/fields.rb', line 206

def clean(value)
  super(value)
  return nil if empty_value?(value)

  validating do
      value = to_float(value)
      is_not_greater_than(value, @max_value) if @max_value
      is_not_lesser_than(value, @min_value) if @min_value
    end

  value
end