Module: Nifty::Utils::AutoAttributePermit::FormBuilderExtensions

Defined in:
lib/nifty/utils/auto_attribute_permit.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



32
33
34
35
36
37
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 32

def self.included(base)
  base.class_eval do
    alias_method_chain :label, :auto_attribute_permit
    alias_method_chain :submit, :auto_attribute_permit
  end
end

Instance Method Details

#auto_permitted_attributesObject



39
40
41
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 39

def auto_permitted_attributes
  @auto_permitted_attributes ||= []
end

#auto_permitted_attributes_fieldObject



63
64
65
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 63

def auto_permitted_attributes_field
  @template.hidden_field_tag("#{@object_name}[permitted_fields]", encoded_auto_permitted_attributes)
end

#encoded_auto_permitted_attributesObject



59
60
61
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 59

def encoded_auto_permitted_attributes
  AutoAttributePermit.verifier.generate(auto_permitted_attributes)
end

#label_with_auto_attribute_permit(method, text = nil, options = {}, &block) ⇒ Object



43
44
45
46
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 43

def label_with_auto_attribute_permit(method, text = nil, options = {}, &block)
  auto_permitted_attributes << method unless (text.is_a?(Hash) ? text : options)[:auto_permit] == false
  label_without_auto_attribute_permit(method, text, options, &block)
end

#submit_with_auto_attribute_permit(value = nil, options = {}) ⇒ Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/nifty/utils/auto_attribute_permit.rb', line 48

def submit_with_auto_attribute_permit(value = nil, options = {})
  value, options = nil, value if value.is_a?(Hash)
  include_permit_field = options.delete(:include_auto_permit_field)
  submit_button = submit_without_auto_attribute_permit(value, options)
  unless include_permit_field == false
    submit_button.safe_concat(self.auto_permitted_attributes_field)
  else
    submit_button
  end
end