Sha256: f869133b2cde6b6ba56b517f0f50ea2ec24bcdcbab7685519a4a712eac52aa33

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

require 'bootstrap_form'

module BootstrapValidatorRails
  module Helper
    def bootstrap_validation_form_for(object, options = {}, &block)
      ActiveSupport::Deprecation.warn("bootstrap_validation_form_for is deprecated. Use bv_form_for instead.")
      bv_form_for(object, options, &block)
    end

    def bv_form_for(object, options = {}, &block)
      options.reverse_merge!({builder: BootstrapValidatorRails::FormBuilder})
      bootstrap_form_for(object, options, &block)
    end

    def bv_options_for(object)
      validators = object.class.validators
      bv_options = {
        fields: {}
      }
      validators.each do |validator|
        methods = validator.attributes
        methods.each do |method|
          @generator = BootstrapValidatorRails::Validators::Generator.new(object, validator, method)
          js_options = @generator.generate_js_options
          bv_options[:fields].deep_merge! js_options
        end
      end
      bv_options.to_json.html_safe
    end

    def bv_javascript_for(object)
      javascript_tag("
        $(document).ready(function() {
          bv_form('.bv_form', #{bv_options_for(object)})
        });
      ")
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bootstrap_validator_rails-1.0.0 lib/bootstrap_validator_rails/helper.rb