Class: AreYouSure::ConfirmFormBuilder
Instance Method Summary
collapse
#confirmed
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
29
30
31
32
33
|
# File 'lib/are_you_sure/form_builders/confirm_form_builder.rb', line 29
def method_missing(method, *args, &block)
do_if_respond_to_original_method(method) do |original_method|
send(:confirm_field, original_method, *args)
end
end
|
Instance Method Details
#cancel(value = nil, options = {}) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/are_you_sure/form_builders/confirm_form_builder.rb', line 20
def cancel(value=nil, options={})
cancel_path = options.delete(:to) || @template.polymorphic_path(@object, action: @object.persisted? ? :edit : :new)
@template.link_to(
value || I18n.t('are_you_sure.helpers.cancel', default: 'Cancel'),
cancel_path,
options
)
end
|
#confirm_field(original_field, method, *options) ⇒ Object
9
10
11
12
13
|
# File 'lib/are_you_sure/form_builders/confirm_form_builder.rb', line 9
def confirm_field(original_field, method, *options)
field_value = fetch_field_value(original_field, method, *options)
@template.content_tag(:p, field_value) +
@template.hidden_field(@object_name, method)
end
|
#confirmation(options = {}) ⇒ Object
4
5
6
7
|
# File 'lib/are_you_sure/form_builders/confirm_form_builder.rb', line 4
def confirmation(options={})
confirmed(true) +
@template.content_tag(:p, options[:message] || I18n.t('are_you_sure.confirmation_message', default: 'Are you sure?'))
end
|
#submit_or_confirm(options = {}) ⇒ Object
15
16
17
18
|
# File 'lib/are_you_sure/form_builders/confirm_form_builder.rb', line 15
def submit_or_confirm(options={})
values = [:create, :update, :confirm].inject([]) {|r,k| r << options.delete(k) }
submit @object.persisted? ? values[1] : values[0], options
end
|