class DynaForm::Submission
Public Class Methods
new(model, variables, attributes)
click to toggle source
# File lib/dyna_form/submission.rb, line 4 def initialize(model, variables, attributes) @model = parse_model(model) @variables = variables.map(&:to_sym) @attributes = attributes.clone end
Public Instance Methods
submit()
click to toggle source
# File lib/dyna_form/submission.rb, line 10 def submit attrs = @attributes.select { |k, _| @variables.include?(k.to_sym) } class_name = @model new_object = Kernel.const_get(class_name).new(attrs) new_object.save end
Private Instance Methods
parse_model(model)
click to toggle source
# File lib/dyna_form/submission.rb, line 20 def parse_model(model) str_model = model.to_s words = str_model.split("_") words.map { |w| w[0..0].capitalize + w[1..-1] }.join("") end