Module: BootstrapValidatorRails::Helper

Defined in:
lib/bootstrap_validator_rails/helper.rb

Instance Method Summary collapse

Instance Method Details

#bootstrap_validation_form_for(object, options = {}, &block) ⇒ Object



5
6
7
8
# File 'lib/bootstrap_validator_rails/helper.rb', line 5

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

#bv_form_for(object, options = {}, &block) ⇒ Object



10
11
12
13
# File 'lib/bootstrap_validator_rails/helper.rb', line 10

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

#bv_javascript_for(object) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/bootstrap_validator_rails/helper.rb', line 31

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

#bv_options_for(object) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/bootstrap_validator_rails/helper.rb', line 15

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