module Formwandler::FormLoader
Public Instance Methods
load_form(opts = {})
click to toggle source
# File lib/formwandler/form_loader.rb, line 8 def load_form(opts = {}) before_action(opts.except(:models)) do if opts.fetch(:models, true) models = {inferred_resource_name.to_sym => instance_variable_get("@#{inferred_resource_name}")}.compact end form_instance = form_class.new(models: models || {}, controller: self) instance_variable_set("@#{form_instance_name}", form_instance) end end
Private Instance Methods
form_class()
click to toggle source
# File lib/formwandler/form_loader.rb, line 25 def form_class form_class_name.constantize end
form_class_name()
click to toggle source
# File lib/formwandler/form_loader.rb, line 21 def form_class_name "#{namespace}::#{inferred_resource_name.camelize}Form" end
form_instance_name()
click to toggle source
# File lib/formwandler/form_loader.rb, line 29 def form_instance_name "#{inferred_resource_name}_form" end
inferred_resource_name()
click to toggle source
# File lib/formwandler/form_loader.rb, line 37 def inferred_resource_name controller_name.singularize end
namespace()
click to toggle source
# File lib/formwandler/form_loader.rb, line 33 def namespace self.class.name.split('::')[0..-2].join('::') end