Sha256: 040399fd3b8b84b2eac45c034c2b010e053d5158725ddc4f3f18a13696a49b63

Contents?: true

Size: 1.55 KB

Versions: 5

Compression:

Stored size: 1.55 KB

Contents

module BootstrapValidatorRails
  module Validators
    class Numericality 
      def initialize(record, method, validator)
        @record, @method, @validator = record, method, validator
      end

      def generate_data
        data = {
          :bv_numeric => 'true',
          :bv_numeric_separator => '.',
        }
        
        data.merge(generate_options)
      end

      def generate_message
        @record.errors.generate_message(@method, :presence, {default: 'should be a number'})
      end

      def generate_options
        options = @validator.options

        data = {}

        if options[:only_integer].present?
          data[:bv_integer] = 'true'
        end

        if options[:greater_than].present?
          data[:bv_greaterthan] = 'true'
          data[:bv_greaterthan_inclusive] = 'false'
          data[:bv_greaterthan_value] = options[:greater_than]
        end

        if options[:greater_than_or_equal_to].present?
          data[:bv_greaterthan] = 'true'
          data[:bv_greaterthan_inclusive] = 'true'
          data[:bv_greaterthan_value] = options[:greater_than_or_equal_to]
        end

        if options[:less_than].present?
          data[:bv_lessthan] = 'true'
          data[:bv_lessthan_inclusive] = 'false'
          data[:bv_lessthan_value] = options[:less_than]
        end

        if options[:less_than_or_equal_to].present?
          data[:bv_lessthan] = 'true'
          data[:bv_lessthan_inclusive] = 'true'
          data[:bv_lessthan_value] = options[:less_than_or_equal_to]
        end
        data
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bootstrap_validator_rails-0.4.1 lib/bootstrap_validator_rails/validators/numericality_validator.rb
bootstrap_validator_rails-0.4.0 lib/bootstrap_validator_rails/validators/numericality_validator.rb
bootstrap_validator_rails-0.3.0 lib/bootstrap_validator_rails/validators/numericality_validator.rb
bootstrap_validator_rails-0.2.0 lib/bootstrap_validator_rails/validators/numericality_validator.rb
bootstrap_validator_rails-0.1.2 lib/bootstrap_validator_rails/validators/numericality_validator.rb