module Formalism::ModelForms::FindOrCreate::ClassMethods

Module for class methods

Public Instance Methods

inherited(child_form) click to toggle source
Calls superclass method
# File lib/formalism/model_forms/find_or_create.rb, line 11
def inherited(child_form)
        super

        child_form_path = File.dirname caller_locations(1..1).first.path
        %w[find create].each { |form_type| require "#{child_form_path}/#{form_type}" }

        child_form.define_nested_forms
end

Protected Instance Methods

define_nested_forms() click to toggle source
# File lib/formalism/model_forms/find_or_create.rb, line 22
def define_nested_forms
        nested :find, namespace::Find,
                initialize: ->(form) { form.new(@params_or_instance) },
                merge_errors: false

        nested :create, namespace::Create,
                initialize: ->(form) { form.new(@params_or_instance) },
                errors_key: nil,
                merge_errors: -> { find_form.instance.nil? }
end